我正在尝试上传多个文件,对话框显示选择了多个文件(如下图所示),但只有第一个文件存储在我的代码中。我做错了什么?
@Html.TextBoxFor(model => model.files, new { @class = "form-control", type = "file", multiple = "true", placeholder = "upload files"})
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "type,files,date")] Task mydata)
{
System.Diagnostics.Debug.Write(mydata.files);//outputs: "C:\<path>\asdf.txt"
}
编辑:Task.files的类型为string
答案 0 :(得分:2)
上传多个文件时,您希望绑定到一个集合。 IEnumerable<string>
应该为您提供所有文件名。
但是,上传文件时,该属性应为HttpPostedFileBase
。上传多个文件时,您需要IEnumerable<HttpPostedFileBase>
。