public async Task <IActionResult> OnPostUploadImageAsync(string returnUrl = null) { returnUrl ??= Url.Content("~/"); var group = await _context.Group .OfType <MultiuserGroup>() .FirstOrDefaultAsync(g => g.GroupID == UploadImageInput.GroupID); if (UploadImageInput.GroupImage.Length < 10485760L) //10 MB { if (!UploadImageInput.GroupImage.ValidateFileTypeAsImage()) { ModelState.AddModelError("File", "Invalid file type."); } else { using Stream memoryStream = UploadImageInput.GroupImage.OpenReadStream(); Image image = Image.FromStream(memoryStream).ResizeImageToFitSquare(512); string output = _fileOperationProvider.SaveImageToFile(image, UploadImageInput.GroupImage.Name); _fileOperationProvider.DeleteFile(group.GroupImage); group.GroupImage = output; await _context.SaveChangesAsync(); } } else { ModelState.AddModelError("File", "The file is too large."); } return(LocalRedirect(returnUrl)); }
public async Task <IActionResult> OnPostUploadAsync() { var chatUser = await _userManager.GetUserAsync(User); if (ProfileImage.Length < 10485760L) //10 MB { if (!ProfileImage.ValidateFileTypeAsImage()) { ModelState.AddModelError("File", "Invalid file type."); } else { using Stream memoryStream = ProfileImage.OpenReadStream(); Image image = Image.FromStream(memoryStream).ResizeImageToFitSquare(512); string output = _fileOperationProvider.SaveImageToFile(image, ProfileImage.Name); _fileOperationProvider.DeleteFile(chatUser.ProfileImage); chatUser.ProfileImage = output; await _context.SaveChangesAsync(); } } else { ModelState.AddModelError("File", "The file is too large."); } return(Page()); }