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