我是MVC 4的新手,我正在尝试在我的网站上实现文件上传控制 . 我无法找到错误 . 我的文件中出现空值 .
控制器:
public class UploadController : BaseController
{
public ActionResult UploadDocument()
{
return View();
}
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Images/"), fileName);
file.SaveAs(path);
}
return RedirectToAction("UploadDocument");
}
}
视图:
@using (Html.BeginForm("Upload", "Upload", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="FileUpload" />
<input type="submit" name="Submit" id="Submit" value="Upload" />
}
5 回答
Upload
方法的HttpPostedFileBase
参数必须与file input
具有相同的名称 .所以只需将输入更改为:
此外,您可以在
Request.Files
中找到这些文件:澄清它 . 模型:
发布行动
最后用于检查hasFile的Extension方法
查看页面
脚本文件
在控制器中
你只需要更改输入字段的名称,因为参数和输入字段名称中需要相同的名称只需替换此行您的代码工作正常
我认为,更好的方法是在您的控制器或API中使用HttpPostedFileBase . 在此之后,您可以简单地检测大小,类型等 .
您可以在此处找到文件属性:
MVC3 How to check if HttpPostedFileBase is an image
例如ImageApi:
希望它有所帮助 .