MVC上传文件时HttpPostedFileBase file为null的问题
MVC使用Ajax.BeginForm上传图片时HttpPostedFileBase file为null,Request.Files获取不到文件,问题分析是页面中存在jquery.unobtrusive-ajax.js文件,注释后能够获取到。改为Html.BeginForm实现如下:
@using (Html.BeginForm("UploadPhoto", "EditUserInfo", FormMethod.Post, new { enctype = "multipart/form-data" })) { 选择图片: <input type="file" name="uploadFile" /> <input type="submit" /> }
Controller:
[HttpPost] public ActionResult UploadPhoto(HttpPostedFileBase uploadFile) { if (uploadFile != null && uploadFile.ContentLength > 0) { string fileName = WebSecurity.CurrentUserId + Path.GetExtension(uploadFile.FileName) string direction = Server.MapPath("~/UpLoad/Companys/logo/"); string destinationPath = Path.Combine(direction, fileName); if (!Directory.Exists(direction)) { Directory.CreateDirectory(direction); } uploadFile.SaveAs(destinationPath); } return View(); }
最近评论