public ProfileImageViewModel GetById(int id) { ProfileImageViewModel model = null; this.DataProvider.ExecuteCmd( "PersonImage_SelectById", inputParamMapper : delegate(SqlParameterCollection paramCol) { paramCol.AddWithValue("@Id", id); }, singleRecordMapper : delegate(IDataReader reader, short set) { int index = 0; model = new ProfileImageViewModel(); model.PersonId = reader.GetSafeInt32(index++); model.Title = reader.GetSafeString(index++); model.FirstName = reader.GetSafeString(index++); model.MiddleInitial = reader.GetSafeString(index++); model.LastName = reader.GetSafeString(index++); model.Bio = reader.GetSafeString(index++); model.ModifiedBy = reader.GetSafeString(index++); model.UserId = reader.GetSafeInt32(index++); model.FileStorageId = reader.GetSafeInt32(index++); model.Location = reader.GetSafeString(index++); } ); return(model); }
public async Task <IActionResult> UpdateProfileImage(ProfileImageViewModel model) { var fileSize = model.Image.Length; if ((fileSize / 1048576.0) > 2) { ModelState.AddModelError("", "The file you uploaded is too large. Filesize limit is 2mb."); return(View(model)); } if (model.Image.ContentType != "image/jpeg" && model.Image.ContentType != "image/png") { ModelState.AddModelError("", "Please upload a jpeg or png file for the thumbnail."); return(View(model)); } var dirPath = _env.WebRootPath + "/users/"; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } var filePath = dirPath + WebUser.UserId.ToString() + ".png"; if (model.Image.Length > 0) { byte[] bytes = await FileBytes(model.Image.OpenReadStream()); using (Image <Rgba32> image = Image.Load(bytes)) { image.Mutate(x => x.Resize(150, 150)); image.Save(filePath); } } return(RedirectToAction("UpdateProfileImage")); }
public ActionResult SaveProfileImage(ProfileImageViewModel viewModel) { string randomFileName = null; bool _success = false; if (viewModel != null) { var t = viewModel.base64Image.Substring(23); byte[] bytes = Convert.FromBase64String(t); using (MemoryStream ms = new MemoryStream(bytes)) { var image = Image.FromStream(ms); randomFileName = Guid.NewGuid().ToString().Substring(0, 7) + ".jpg"; var fullPath = Path.Combine(Server.MapPath("~/Content/Images/"), randomFileName); image.Save(fullPath, System.Drawing.Imaging.ImageFormat.Jpeg); } //save image filename to database var patientinfo = _patientServices.GetPatientById(viewModel.patId); patientinfo.Image = randomFileName; _patientServices.UpdatePatient(patientinfo); _unitofwork.Commit(); _success = true; } // System.IO.File.WriteAllText(Server.MapPath("~/Content/Images/" + DateTime.Now.ToString("yyyyMMdd_hhmmss") + ".txt"), base64Image); return(Json(new { success = _success, randomFileName }, JsonRequestBehavior.AllowGet)); }