public async Task <IActionResult> Create([Bind("Id,Image")] Slide slide, IFormFile File)
 {
     if (ModelState.IsValid)
     {
         if (File == null)
         {
             return(RedirectToAction(nameof(Create)));
         }
         _context.Add(slide);
         _context.SaveChanges();
         var path = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Img/Pro", slide.Id + "." + File.FileName.Split(".")[File.FileName.Split(".").Length - 1]);
         using (var stream = new FileStream(path, FileMode.Create))
         {
             await File.CopyToAsync(stream);
         }
         slide.Image = slide.Id + "." + File.FileName.Split(".")[File.FileName.Split(".").Length - 1];
         try
         {
             _context.Update(slide);
             await _context.SaveChangesAsync();
         }
         catch (Exception e)
         {
             _context.RemoveRange(slide);
             throw;
         }
         return(RedirectToAction(nameof(Index)));;
     }
     return(View(slide));
 }
Пример #2
0
        public async Task <IActionResult> Create([Bind("Id,Name,UnitPrice,Author,PublisherId,CategoryId,ProductTypeId,Img,Description,Level,Origin")] Product product, ICollection <IFormFile> Files)
        {
            if (ModelState.IsValid)
            {
                if (Files == null)
                {
                    return(RedirectToAction(nameof(Create)));
                }
                _context.Add(product);
                _context.SaveChanges();
                long size = Files.Sum(f => f.Length);
                foreach (var formFile in Files)
                {
                    if (formFile.Length > 0)
                    {
                        var filePath = Path.Combine(Directory.GetCurrentDirectory(), "wwwroot/Img/Pro", product.Id + formFile.FileName);

                        using (var stream = new FileStream(filePath, FileMode.Create))
                        {
                            await formFile.CopyToAsync(stream);
                        }
                    }
                    product.Img += product.Id + formFile.FileName + ",";
                }
                try
                {
                    _context.Update(product);
                    await _context.SaveChangesAsync();
                }
                catch (Exception e)
                {
                    _context.RemoveRange(product);
                    throw;
                }
            }
            _construct();
            return(RedirectToAction(nameof(Index)));
        }