Exemple #1
0
        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));
        }
Exemple #2
0
        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());
        }