private List <string> ProcessUploadedFile(CreateDrinkViewModel model1, CreateDrinkViewModel model2) { string uniqueFileName1 = null; string uniqueFileName2 = null; if (model1.ImageUrl != null) { string uploadFile = Path.Combine(webHostEnvironment.WebRootPath, "ImageUrl"); uniqueFileName1 = Guid.NewGuid().ToString() + model1.ImageUrl.FileName; string filePath1 = Path.Combine(uploadFile, uniqueFileName1); using (var fileStream1 = new FileStream(filePath1, FileMode.Create)) model1.ImageUrl.CopyTo(fileStream1); } if (model2.ImageThumbnailUrl != null) { string uploadFile = Path.Combine(webHostEnvironment.WebRootPath, "ImageThumbnailUrl"); uniqueFileName2 = Guid.NewGuid().ToString() + model2.ImageThumbnailUrl.FileName; string filePath2 = Path.Combine(uploadFile, uniqueFileName2); using (var fileStream2 = new FileStream(filePath2, FileMode.Create)) model2.ImageThumbnailUrl.CopyTo(fileStream2); } List <string> uniqueFileName = new List <string>() { uniqueFileName1, uniqueFileName2 }; return(uniqueFileName); }
public IActionResult Create(CreateDrinkViewModel model) { if (ModelState.IsValid) { List <string> uniqueFileName = ProcessUploadedFile(model, model); string uniqueFileName1 = uniqueFileName[0]; string uniqueFileName2 = uniqueFileName[1]; Drink drink = new Drink() { Name = model.Name, ShortDescription = model.ShortDescription, LongDescription = model.LongDescription, Price = model.Price, ImageUrl = uniqueFileName1, ImageThumbnailUrl = uniqueFileName2, IsPreferredDrink = model.IsPreferredDrink, InStock = model.InStock, CategoryId = model.CategoryId }; _drinkRepository.Add(drink); return(RedirectToAction("ManagerDrinks")); } return(View(model)); }
public async Task <ActionResult> CreateDrink(CreateDrinkViewModel newDrink, IFormFile uploadedFile, string isAvailable = null) { if (isAvailable != null) { newDrink.isAvailable = true; } if (uploadedFile != null) { // путь к папке Files string path = "/images/drinks/" + uploadedFile.FileName; // сохраняем файл в папку images в каталоге wwwroot using (var fileStream = new FileStream(_hostingEnvironment.WebRootPath + path, FileMode.Create)) { await uploadedFile.CopyToAsync(fileStream); } newDrink.ImageUrl = path; } var createDrink = Mapper.Map <DrinkDto>(newDrink); var url = GetAbsolutePath("CreateDrink"); await _client.PostAsJsonAsync <DrinkDto>(url, createDrink); return(RedirectToAction("Index")); }