//Button lưu lại thông tin protected void LinkButton_Post_Click(object sender, EventArgs e) { if (SessionUtility.User != null) { //Ẩn các thông báo trước đó ucMessage.HideAll(); DBEntities db = new DBEntities(); //Ẩn các thông báo trước đó ucMessage.HideAll(); //Tìm 1 item thích hợp để cập nhật var item = db.Users.Where(x => x.UserID == SessionUtility.User.UserID).FirstOrDefault(); //Nếu không có thì báo lỗi kết thúc if (item == null) { ucMessage.ShowError("Dữ liệu này không còn tồn tại"); return; } //Lấy ra giá trị người nhập string fullName = input_FullName.Value.Trim(); string email = input_Email.Value.Trim(); string mobi = input_Mobi.Value.Trim(); string address = input_Address.Value.Trim(); string facebook = input_Facebook.Value.Trim(); bool statusJob = radio_GotJob.Checked ? true : false; string school = input_School.Value.Trim(); int graduationYear = input_GraduationYear.Value.Trim().ToInt(); if (IsValid(fullName, email, mobi, address, facebook, school, graduationYear)) { //Upload hình string avatar = string.Empty; string thumb = string.Empty; //=====kiểm tra tính hợp lệ của hình ảnh===== if (FileUpload_Avatar.FileName != string.Empty) { //Kiểm tra đuôi hình hợp lệ string validExtension = ".jpg.jpeg.png.gif.bmp.ico"; //Lấy đuôi hình string fileExtension = Path.GetExtension(FileUpload_Avatar.FileName.ToLower()); if (!validExtension.Contains(fileExtension)) { ucMessage.ShowError("Hình không hợp lệ, loại hình cho phép là:jpg, jpeg, png, gif, bmp, ico"); return; } //Kiểm tra dung lượng file thích hợp (file <= 3MB) int validSize = 1024 * 1024 * 3; int fileSize = FileUpload_Avatar.FileBytes.Length; if (fileSize > validSize) { ucMessage.ShowError("Dung lượng hình phải >= 3MB"); return; } Exception error = null; UploadUtility uploadUtility = new UploadUtility(); uploadUtility.FileUpload = FileUpload_Avatar; uploadUtility.FolderSave = "~/fileuploads/Dev/Avatar"; uploadUtility.FullMaxWidth = 1000; uploadUtility.ThumbMaxWidth = 400; uploadUtility.MaxFileSize = 1024 * 1024 * 3; //Với 3 là 3MB uploadUtility.AutoGenerateFileName = true; uploadUtility.UploadImage(ref avatar, ref thumb, ref error); //Tham số đầu ra ref //Nếu có úp hình, thì mới cập nhật hình mới div_Avatar.Attributes.Add("style", "background-image: url('{0}');".StringFormat(avatar)); } //============UPLOAD AVATAR COMPANY===============\\ string avatarCompany = string.Empty; string thumbCompany = string.Empty; if (FileUpload_AvatarCompany.FileName != string.Empty) { //Kiểm tra đuôi hình hợp lệ string validExtension = ".jpg.jpeg.png.gif.bmp.ico"; //Lấy đuôi hình string fileExtension = Path.GetExtension(FileUpload_AvatarCompany.FileName.ToLower()); if (!validExtension.Contains(fileExtension)) { ucMessage.ShowError("Hình không hợp lệ, loại hình cho phép là:jpg, jpeg, png, gif, bmp, ico"); return; } //Kiểm tra dung lượng file thích hợp (file <= 3MB) int validSize = 1024 * 1024 * 3; int fileSize = FileUpload_AvatarCompany.FileBytes.Length; if (fileSize > validSize) { ucMessage.ShowError("Dung lượng hình phải >= 3MB"); return; } Exception error = null; UploadUtility uploadUtility = new UploadUtility(); uploadUtility.FileUpload = FileUpload_AvatarCompany; uploadUtility.FolderSave = "~/fileuploads/Company/Avatar"; uploadUtility.FullMaxWidth = 1000; uploadUtility.ThumbMaxWidth = 400; uploadUtility.MaxFileSize = 1024 * 1024 * 3; //Với 3 là 3MB uploadUtility.AutoGenerateFileName = true; uploadUtility.UploadImage(ref avatarCompany, ref thumbCompany, ref error); //Tham số đầu ra ref //Nếu có úp hình, thì mới cập nhật hình mới Company_Avatar.Attributes.Add("style", "background-image: url('{0}');".StringFormat(avatarCompany)); } ///Nếu User có up hình thì mới cập nhật hình mới if (avatar != string.Empty) { item.Avatar = avatar; } //Lấy ra danh sách chọn kĩ năng var listboxSelected = ListBox_Skill.Items.Cast <ListItem>().Where(i => i.Selected); string listSkill = string.Empty; foreach (var itemSelected in listboxSelected) { listSkill += itemSelected.Value + ";"; } if (listSkill.Contains(";")) { listSkill = listSkill.Remove(listSkill.Length - 1, 1); } //===================>Thêm vào bảng công ty //Cập nhật lại các giá trị item.FullName = fullName; item.Email = email; item.Mobi = mobi; item.Address = address; item.Facebook = facebook; item.GraduationYear = graduationYear; item.StatusJob = statusJob; item.CreateTime = DateTime.Now; item.NameSchool = school; item.TagSkill = listSkill; //Nếu đã đi làm thì lấy thông tin lưu vào company trong tbl_user if (radio_GotJob.Checked) { //lấy ra các danh sách công ty string companyName = input_CompanyName.Value.Trim(); string companyAddress = input_CompanyAddress.Value.Trim(); string companyWeb = input_CompanyWeb.Value.Trim(); string positionWork = textarea_PositionWork.Value.Trim(); if (IsValidCompany(companyName, companyAddress, companyWeb, positionWork)) { //lấy ra id nếu người dùng chọn từ gợi ý item.PositionWork = positionWork; int idCompany = input_IDCompanyAjax.Value.Trim().ToInt(); string avatarCompanyAjax = input_AvatarCompanyAjax.Value.Trim(); if (item.CompanyID == null && idCompany == 0) { if (avatarCompany.IsNullOrEmpty() && avatarCompanyAjax == string.Empty) { ucMessage.ShowError("Vui lòng up ảnh đại diện công ty"); return; } Company company = new Company(); company.Title = companyName; company.Address = companyAddress; company.Website = companyWeb; company.Avatar = avatarCompany; company.Status = true; try { db.Companies.Add(company); db.SaveChanges(); //Ánh xạ ID của compamy vừa thêm vào bảng user item.CompanyID = company.CompanyID; } catch (Exception) { ucMessage.ShowError("Lỗi hệ thống! Vui lòng thử lại"); return; } } if (idCompany != 0) { item.CompanyID = idCompany; } if (positionWork.IsNullOrEmptyOrWhiteSpaces()) { ucMessage.ShowError("Đăng tin không thành công, vui lòng nhập vị trí công việc của bạn"); return; } } else { return; } } //Nếu đã đi làm thì reset thông tin company trong tbl_user if (radio_NotJob.Checked) { item.StatusJob = statusJob; item.CompanyID = null; } //Lưu lại db.SaveChanges(); //Cập nhật lại session SessionUtility.User = item; Response.Redirect("~/Post.aspx?messagetype={0}&message={1}".StringFormat("success", "Xin chúc mừng dữ liệu của bạn đã được lưu thành công!")); } } else { Reset(); ucMessage.ShowInfo("Bạn vui lòng đăng nhập để thực hiện chức năng này"); return; } }
public static bool UploadImage(FileUpload fileUpload, string folderUpload, ref string avatar, ref int width, ref int height, ref Exception error) { //1. Lấy tên file đã chọn string fileName = fileUpload.FileName; //2. Nếu tên file = rỗng, thì trả về false if (fileName == string.Empty) { return(false); } //3. Kiểm tra đuôi hình, nếu không hợp lệ thì báo lỗi if (!fileName.IsImageFileUrl()) { error = new Exception("Vui lòng chọn hình có đuôi trong danh sách: .jpg.jpeg.gif.bmp.png"); return(false); } //4. Kiểm tra dung lượng file, nếu vượt quá 3Mb thì báo lỗi if (fileUpload.PostedFile.ContentLength > 3 * 1024 * 1024) { error = new Exception("Vui lòng chọn file <= 3Mb"); return(false); } //Cấu hình upload UploadUtility upload = new UploadUtility(); upload.FileUpload = fileUpload; upload.FolderSave = folderUpload; upload.FullMaxWidth = 1000; upload.ThumbMaxWidth = 400; upload.MaxFileSize = 3 * 1024 * 1024; upload.AutoGenerateFileName = true; string thumb = string.Empty; //Upload và bắt lỗi nếu có upload.UploadImage(ref avatar, ref thumb, ref error); //Nếu có lỗi upload, thì trả về false if (error != null) { return(false); } //9 Convert url sang đường dẫn vật lý string physicalUrl = HostingEnvironment.MapPath(avatar); //10. Save hình lên Server try { //10.1 Tạo hình từ FileUpload Bitmap bitmap = new Bitmap(physicalUrl); //10.4 Trả thông số ra ngoài width = bitmap.Width; height = bitmap.Height; } //Bắt lỗi lưu vào ex (nếu có) catch (Exception ex) { //Xuất lỗi bắt được (ex) ra ngoài theo biến (error) error = ex; return(false); } //11. Trả về true sau khi đã upload hình thành công return(true); }