[RequestSizeLimit(31457280)] //30 MB for now, change it later based on the size of the pixel art's data consumption. public async Task <IActionResult> Add(PixelArt p) { IFormFile Pixel = p.PixelArtPhoto; if (FileUploadHelper.IsFileEmpty(Pixel)) { //Add Error. //return view. } if (!FileUploadHelper.IsValidExtension(Pixel, FileUploadHelper.FileTypes.Photo)) { //Add error message //return view. } string pixelArtName = await _BlobHelper.UploadBlob(p.PixelArtPhoto); p.PixelArtURL = pixelArtName; //add to DB _context.PixelArts.Add(p); //makes sure the changes are saved/executed. await _context.SaveChangesAsync(); //redirect back to Gallery Page return(RedirectToAction("Gallery")); }
[RequestSizeLimit(8388608)] // 8MB public async Task <IActionResult> Edit(Item item) { if (ModelState.IsValid) { IFormFile photo = item.Photo; IFormFile model = item.Model; BlobStorageHelper helper = new BlobStorageHelper(_config); if (!FileUploadHelper.IsFileEmpty(model)) { if (FileUploadHelper.IsValidExtension(model, FileUploadHelper.FileTypes.Model)) { await helper.UpdateModelBlob(model, item.ModelUrl); } else { // Add error message // return view } } if (!FileUploadHelper.IsFileEmpty(photo)) { if (FileUploadHelper.IsValidExtension(photo, FileUploadHelper.FileTypes.Photo)) { await helper.UpdatePhotoBlob(photo, item.PhotoUrl); } else { // Add error message // return view } } await ItemDb.UpdateItemAsync(_context, item); return(RedirectToAction("Item", "Home", new { id = item.Id })); } return(View(item)); }
[RequestSizeLimit(8388608)] // 8MB public async Task <IActionResult> Create(Item item) { if (ModelState.IsValid) { IFormFile photo = item.Photo; IFormFile model = item.Model; BlobStorageHelper helper = new BlobStorageHelper(_config); if (!FileUploadHelper.IsFileEmpty(model)) { if (FileUploadHelper.IsValidExtension(model, FileUploadHelper.FileTypes.Model)) { item.ModelUrl = await helper.UploadModelBlob(model); } else { // Add error message } } if (!FileUploadHelper.IsFileEmpty(photo)) { if (FileUploadHelper.IsValidExtension(photo, FileUploadHelper.FileTypes.Photo)) { item.PhotoUrl = await helper.UploadPhotoBlob(photo); } else { // Add error message // return view } } await ItemDb.AddItemAsync(_context, item); return(RedirectToAction(nameof(Index))); } return(View(item)); }