public ActionResult UploadPhoto(HttpPostedFileBase file) { if (ModelState.IsValid) { var userid = User.UserID; var user = repository.GetUserById(userid); byte[] resizedImage = new byte[0]; var jpeg = new byte[] { 255, 216, 255, 224 }; // jpeg if (file.ContentLength > 0) { var filename = Path.GetFileName(file.FileName); //using (var reader = new System.IO.BinaryReader(file.InputStream)) //{ // if (!jpeg.SequenceEqual(reader.ReadBytes(file.ContentLength).Take(jpeg.Length))) // { // //file is not jpeg // return RedirectToAction("Index", "User"); // } //} try { System.Drawing.Image sourceimage = System.Drawing.Image.FromStream(file.InputStream); var BitmapResizedImage = ProjectTools.ResizeImage(sourceimage, 50, 50); resizedImage = ProjectTools.imageToByteArray(BitmapResizedImage); } catch (Exception ex) { ViewBag.ErrorMessage = ex.Message; return(this.View()); } } repository.DeleteAllAvatarsFromUser(userid); if (file != null && file.ContentLength > 0) { var avatar = new Picture { User = user, PictureName = System.IO.Path.GetFileName(file.FileName), Type = FileType.Avatar, ContentType = file.ContentType }; avatar.Content = resizedImage; repository.SavePicture(avatar, userid); } return(RedirectToAction("Index", "User")); } return(RedirectToAction("Index", "User")); }
public async Task <ActionResult> EditUser(UserEditUserViewModel model, HttpPostedFileBase file) { // ModelState.AddModelError(string.Empty, "An image file must be chosen."); if (ModelState.IsValid) { if (file != null) { string fileName = Path.GetFileName(file.FileName); // Upload the file to Azure Blob Storage bool savedComplete = await Task.Run( () => { var userid = User.UserID; var user = repository.GetUserById(userid); byte[] resizedImage = new byte[0]; var jpeg = new byte[] { 255, 216, 255, 224 }; // jpeg if (file.ContentLength > 0) { var filename = Path.GetFileName(file.FileName); try { System.Drawing.Image sourceimage = System.Drawing.Image.FromStream(file.InputStream); var BitmapResizedImage = ProjectTools.ResizeImage(sourceimage, 256, 256); resizedImage = ProjectTools.imageToByteArray(BitmapResizedImage); } catch (Exception ex) { ViewBag.ErrorMessage = ex.Message; ModelState.AddModelError(string.Empty, "An image file must be chosen."); return(false); } } repository.DeleteAllAvatarsFromUser(userid); if (file != null && file.ContentLength > 0) { var avatar = new Picture { User = user, PictureName = System.IO.Path.GetFileName(file.FileName), Type = FileType.Avatar, ContentType = file.ContentType }; avatar.Content = resizedImage; repository.SavePicture(avatar, userid); } return(true); }); } if (User == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } repository.UserEditUser(model); User.FirstName = model.FirstName; User.LastName = model.LastName; return(RedirectToAction("Index")); } ViewBag.AcademyID = new SelectList(repository.GetAllAcademies(), "AcademyID", "AcademyName", model.AcademyID); return(View(model)); }