Ejemplo n.º 1
0
        public async Task <string> UpdateImageAsync(int id, IFormFile image)
        {
            var product = await _context.Products.FindAsync(id);

            if (product == null)
            {
                return(null);
            }

            var folder = [email protected]();

            var oldThumbnail = product.Thumbnail;

            try
            {
                var fileName = await _imageWriter.UploadImageAsync(folder, image);

                product.Thumbnail = fileName;

                await _context.SaveChangesAsync();

                // Remove old image
                if (oldThumbnail != null)
                {
                    _imageWriter.DeleteImage(folder, oldThumbnail);
                }

                return(ImageHelper.GetRelativeStaticFolderImagePath(fileName));
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Saves a new profile picture for a user on disk, and removes the old image from disk.
        /// </summary>
        /// <param name="id"></param>
        /// <param name="image"></param>
        /// <returns></returns>
        public async Task <string> UpdateImageAsync(int id, IFormFile image)
        {
            var user = await _context.Users.FindAsync(id);

            if (user == null)
            {
                return(null);
            }

            var folder = [email protected]();

            var oldThumbnail = user.Thumbnail;

            try
            {
                var fileName = await _imageWriter.UploadImageAsync(folder, image);

                user.Thumbnail = fileName;

                await _context.SaveChangesAsync();

                // Remove old image
                if (oldThumbnail != null)
                {
                    _imageWriter.DeleteImage(folder, oldThumbnail);
                }

                return(fileName);
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message);
            }
        }
Ejemplo n.º 3
0
        public async Task <IActionResult> UploadUserPhoto(IFormFile file)
        {
            if ((file == null) || (!imageWriter.IsImageFile(file)))
            {
                return(BadRequest());
            }

            //Create unique UUID file name
            string fileName       = Path.GetFileName(file.FileName);
            string extension      = Path.GetExtension(fileName);
            string uniqueFileName = Guid.NewGuid().ToString() + extension;
            //Image url on the server
            string imageUrl = "\\images\\users\\" + uniqueFileName;

            //Absolute path to the image on the server
            string uploads = Path.Combine(_appHostingEnv.WebRootPath, "images", "users");
            string path    = Path.Combine(uploads, uniqueFileName);

            //Upload image on the server
            await imageWriter.UploadImageAsync(file, path);

            System.Drawing.Image image = System.Drawing.Image.FromFile(path);
            foreach (var prop in image.PropertyItems)
            {
                if (prop.Id == 0x0112)
                {
                    int orientationValue = image.GetPropertyItem(prop.Id).Value[0];
                    if (orientationValue != 1)
                    {
                        imageWriter.RotateImage(image, orientationValue);
                        imageWriter.DeleteImage(path);
                        image.Save(path, ImageFormat.Jpeg);
                        break;
                    }
                    break;
                }
            }

            return(Ok(imageUrl));
        }
Ejemplo n.º 4
0
        public async Task <IActionResult> UploadImage(IFormFile file, int id)
        {
            var individual = await _repository.GetIndividualAsync(id);

            if (!string.IsNullOrEmpty(individual.Image))
            {
                _imageWriter.DeleteImage(individual.Image);
            }

            var newImageLocation = await _imageWriter.UploadImage(file);

            individual.Image = newImageLocation;

            if (await _repository.SaveChangesAsync())
            {
                return(Ok());
            }

            return(BadRequest());
        }
Ejemplo n.º 5
0
 public bool DeleteImage(string fileName)
 {
     return(_imageWriter.DeleteImage(fileName));
 }
 public string DeleteImage(string fileName)
 {
     return _imageWriter.DeleteImage(fileName);
 }
Ejemplo n.º 7
0
 public void DeleteImage(string fileName)
 {
     _imageWriter.DeleteImage(fileName);
 }