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)); }
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))); }