public IActionResult UploadImage(IList <IFormFile> files)
        {
            IFormFile uploadedImage = files.FirstOrDefault();

            if (uploadedImage == null || uploadedImage.ContentType.ToLower().StartsWith("image/"))
            {
                using (ImageDBContext dbContext = new ImageDBContext())
                {
                    MemoryStream ms = new MemoryStream();
                    uploadedImage.OpenReadStream().CopyTo(ms);

                    System.Drawing.Image image = System.Drawing.Image.FromStream(ms);

                    Models.Image imageEntity = new Models.Image()
                    {
                        Id          = Guid.NewGuid(),
                        Name        = uploadedImage.Name,
                        Data        = ms.ToArray(),
                        Width       = image.Width,
                        Height      = image.Height,
                        ContentType = uploadedImage.ContentType
                    };

                    dbContext.Images.Add(imageEntity);

                    dbContext.SaveChanges();
                }
            }

            return(RedirectToAction("Index"));
        }
 public IActionResult Index()
 {
     using (ImageDBContext dbContext = new ImageDBContext())
     {
         List <Guid> iamgeIds = dbContext.Images.Select(m => m.Id).ToList();
         return(View(iamgeIds));
     }
 }
        public FileStreamResult ViewImage(Guid id)
        {
            using (ImageDBContext dbContext = new ImageDBContext())
            {
                Models.Image image = dbContext.Images.FirstOrDefault(m => m.Id == id);

                MemoryStream ms = new MemoryStream(image.Data);

                return(new FileStreamResult(ms, image.ContentType));
            }
        }
Exemplo n.º 4
0
 public ImageController(ImageDBContext context, IHostingEnvironment hostEnvironment)
 {
     _context = context;
     this._hostEnvironment = hostEnvironment;
 }