public ActionResult Create(CityAddEditVM cityAddEdit, string [] cityImages) { try { var entity = _mapper.Map <City>(cityAddEdit); entity.Image = "no image"; _context.Cities.Add(entity); _context.SaveChanges(); foreach (var image in cityImages) { string name = Path.GetRandomFileName() + ".jpg"; var bmp = image.Split(',')[1].ConvertBase64ToBitmap(); var path = Path.Combine(Directory.GetCurrentDirectory(), "Uploads", name); bmp.Save(path, ImageFormat.Jpeg); CityImage cityImage = new CityImage { CityId = entity.Id, Name = name }; _context.CityImages.Add(cityImage); _context.SaveChanges(); } //string extension; //extension = Path.GetExtension(file.FileName); ////string f //string name = Path.GetRandomFileName()+ extension; //var path = Path.Combine( // Directory.GetCurrentDirectory(), "Uploads", name); //using (var stream = new FileStream(path, FileMode.Create)) //{ // await file.CopyToAsync(stream); //} //var entity = _mapper.Map<City>(cityAddEdit); //entity.Image = name; //_context.Cities.Add(entity); //_context.SaveChanges(); return(RedirectToAction(nameof(Index))); } catch { return(View(cityAddEdit)); } }
public void SaveImage(CityImageDto dto) { var city = this.context.Cities.FirstOrDefault(c => c.Id == dto.CityId); var file = HttpContext.Request.Form.Files.GetFile("image"); var cityImage = new CityImage { Name = dto.FileName, ContentType = file.ContentType }; using (var memoryStream = new MemoryStream()) { file.CopyTo(memoryStream); cityImage.Image = memoryStream.ToArray(); } city.Image = cityImage; context.SaveChanges(); }
public async Task<ActionResult> Create(CityAddEditVM cityAddEdit, string [] cityImages) { try { //string extension; //extension = Path.GetExtension(file.FileName); ////string f //string name = Path.GetRandomFileName() + extension; //var path = Path.Combine( // Directory.GetCurrentDirectory(), "Uploads", name); //using (var stream = new FileStream(path, FileMode.Create)) //{ // await file.CopyToAsync(stream); //} //var entity = _mapper.Map<City>(cityAddEdit); //entity.Image = name; //_context.Cities.Add(entity); //_context.SaveChanges(); //return RedirectToAction(nameof(Index)); //List<CityImage> images = new List<CityImage>(); var model = new City() { Name = cityAddEdit.Name, Lat = cityAddEdit.Lat, Lng = cityAddEdit.Lng, Image = "image" }; _context.Cities.Add(model); _context.SaveChanges(); var entity = _mapper.Map<City>(cityAddEdit); foreach (var item in cityImages) { Image file = Base64ToImage(item); string extension = ".jpg"; string name = Path.GetRandomFileName() + extension; var path = Path.Combine( Directory.GetCurrentDirectory(), "Uploads", name); file.Save(path, ImageFormat.Jpeg); var image = new CityImage(); image.Name = name; image.CityId = model.Id; _context.CityImages.Add(image); _context.SaveChanges(); } _context.Cities.Add(entity); _context.SaveChanges(); return RedirectToAction(nameof(Index)); } catch(Exception ex) { return View(cityAddEdit); } }