public ActionResult Create(ImageCreateViewModel model) { string bitMapName = String.Empty; if (Request.Files.Count > 0 && Request.Files[0].ContentLength > 0) { var fileName = this.Request.Files[0].FileName; var extension = Path.GetExtension(fileName); model.Image.FileName = String.Format("{0}{1}", Guid.NewGuid(), extension); bitMapName = String.Format("bitmap-{0}", model.Image.FileName); //delete the old file if(!model.Image.IsNew()) { var oldImage = _service.GetImages().Single(i => i.Id == model.Image.Id).FileName; var oldImagePath = this.Server.MapPath(String.Format("~/user_images/{0}", oldImage)); var oldBitMap = this.Server.MapPath(String.Format("~/user_images/bitmap-{0}", oldImage)); if (System.IO.File.Exists(oldImagePath)) System.IO.File.Delete(oldImagePath); if (System.IO.File.Exists(oldBitMap)) System.IO.File.Delete(oldBitMap); } var saveTo = this.Server.MapPath(String.Format("~/user_images/{0}", model.Image.FileName)); var saveToBitMap = this.Server.MapPath(String.Format("~/user_images/{0}", bitMapName)); this.Request.Files[0].SaveAs(saveTo); ResizeImage(saveTo, 500, 500); System.IO.File.Copy(saveTo, saveToBitMap); ResizeImage(saveToBitMap, 50, 50); } _service.SaveImage(model.Image); TempData["message"] = "Image Saved"; return RedirectToAction("List", new {id = model.NavigationModel.Page.PageNavigation.Id }); }
public ActionResult Create(int pageId, int? id) { var image = id.HasValue ? _service.GetImages().Single(i=>i.Id == id.Value) : new Image{}; var model = new ImageCreateViewModel { Image = image }; model.NavigationModel = HomeIndexViewModelLoader.Create(pageId, _service); return View(model); }