我有一个问题,当我上传文件在ASP.NET MVC。
我的代码如下:
我的代码如下:
视图:
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Index2</h2> @using (Html.BeginForm("FileUpload","Board",FormMethod.Post,new { enctype = "multipart/form-data" })) { <input type="file" /> <input type="submit" /> }
控制器:
[HttpPost] public ActionResult FileUpload(HttpPostedFileBase uploadFile) { if (uploadFile != null && uploadFile.ContentLength > 0) { string filePath = Path.Combine(Server.MapPath("/Temp"),Path.GetFileName(uploadFile.FileName)); uploadFile.SaveAs(filePath); } return View(); }
但uploadFile总是返回null。
谁能弄明白为什么?
解决方法
@{ ViewBag.Title = "Index"; Layout = "~/Views/Shared/_Layout.cshtml"; } <h2>Index2</h2> @using (Html.BeginForm("FileUpload",new { enctype = "multipart/form-data" })) { <input type="file" name="uploadFile"/> <input type="submit" /> }
您必须提供输入类型文件的名称到uploadfile以便在ASP.net mvc中建模绑定工作,并确保输入类型文件的名称和HttpPostedFileBase的参数名称相同。