public ActionResult Upload() { UploadScreen screen = new UploadScreen(); ViewData.Model = screen; return View(); }
public ActionResult Upload(FormCollection col) { UploadScreen screen = new UploadScreen(); TryUpdateModel(screen); if (!screen.AnswersAreValid) { ViewData.Model = screen; foreach (var item in screen.GetAnswerValidationErrors()) { ModelState.AddModelError(item.Key, item.Value); } return View(); } ModelState.Clear(); //User didn't select a file if (base.Request.Files.Count != 1 || string.IsNullOrEmpty(base.Request.Files[0].FileName)) { ModelState.AddModelError("fileUpload", "Please choose a file to upload."); ViewData.Model = screen; return View(); } string fileName = base.Request.Files[0].FileName; if (System.IO.File.Exists(base.Server.MapPath("/Upload/") + fileName)) { LoggingHandler.Log("Upload file failed due to name", "Attempt to upload file that already exists with name " + fileName, "Error", "Home/Upload"); ModelState.AddModelError("fileUpload", "A file with that name already exists. Please rename and try again."); ViewData.Model = screen; return View(); } string webPath = screen.SaveFile(Request.Files[0]); MessageScreen messageScreen = new MessageScreen(); messageScreen.Message = "Upload successful, web path = <a href='" + webPath + "'>" + webPath + "</a>"; ViewData.Model = messageScreen; return View("Message"); }