我在.NET MVC View上有以下表格:
<form method="post" enctype="multipart/form-data" action="/Video/UploadDocument">
<input type="file" id="document1" name="document1"/>
<input type="submit" value="Save"/>
</form>
控制器具有以下被调用的签名:
public ActionResult UploadDocument(HttpPostedFileBase file) {
return View();
}
当我在UploadDocument方法内部时,参数'file'为空。我在桌面上选择了一个有效的文档,并知道它包含文本。为了让这个文件上传工作,我错过了什么?
答案 0 :(得分:2)
尝试使用
HttpPostedFileBase file = Request.Files["document1"];
绑定可能有问题([Bind()]
属性)。
编辑:并制作该方法public ActionResult UploadDocument() {}
。
答案 1 :(得分:1)
这已得到回答,但我相信罪魁祸首是你的签名。而不是“文件”,请使用“ document1 ”。
public ActionResult UploadDocument(HttpPostedFileBase document1)
{
return View();
}
请尝试让我知道你的结果
答案 2 :(得分:0)
当您创建参数(文件)的名称和输入元素的名称相等时会发生什么?我记得ASP.NET MVC中的默认模型绑定逻辑使用此约定。