public async Task <IActionResult> UpdateProfilePic([FromForm] FileUploaderViewModel _model) { try { if (ModelState.IsValid) { //get userid from access token string userId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _userManager.FindByIdAsync(userId); var userstatus = user.UserStatus; if (user != null && userstatus) { var filename = ContentDispositionHeaderValue.Parse(_model.Image.ContentDisposition).FileName.Trim('"'); filename = CommonMethods.EnsureCorrectFilename(filename); filename = CommonMethods.RenameFileName(filename); using (FileStream fs = System.IO.File.Create(GetPathAndFilename(filename, Constants.userImagesContainer))) { _model.Image.CopyTo(fs); fs.Flush(); } user.ProfilePic = filename; user.UpdatedBy = userId; user.UpdatedDate = DateTime.Now; IdentityResult res = await _userManager.UpdateAsync(user); if (res.Succeeded) { return(Ok(new { status = StatusCodes.Status200OK, success = true, message = "user profile picture" + ResponseMessages.msgUpdationSuccess, userstatus })); } else { return(Ok(new { status = StatusCodes.Status400BadRequest, success = false, message = res.Errors.First().Code, userstatus = false })); } } else { return(Ok(new { status = StatusCodes.Status404NotFound, success = false, message = ResponseMessages.msgCouldNotFoundAssociatedUser, userstatus = false })); } } else { return(Ok(new { status = StatusCodes.Status406NotAcceptable, success = false, message = ResponseMessages.msgParametersNotCorrect, userstatus = false })); } } catch (Exception ex) { return(Ok(new { status = StatusCodes.Status500InternalServerError, success = false, message = ResponseMessages.msgSomethingWentWrong + ex.Message, userstatus = false })); } }
public ActionResult Index(int maxFiles, string fieldName, string description, string path) { FileUploaderViewModel viewModel = new FileUploaderViewModel(maxFiles, fieldName, description, path); return this.PartialView("Index", viewModel); }