Javascript 为什么上载多个文件时HttpPostedFileBase列表为空?
在客户端,我有以下代码:Javascript 为什么上载多个文件时HttpPostedFileBase列表为空?,javascript,c#,asp.net-mvc,Javascript,C#,Asp.net Mvc,在客户端,我有以下代码: <form action="@Url.Action("UploadStatistics")" method="POST" enctype="multipart/form-data"> <h4>Upload Statistics Excel file(s)</h4> <p> <input type="file" name="file" id="file" multiple/> </p> &l
<form action="@Url.Action("UploadStatistics")" method="POST" enctype="multipart/form-data">
<h4>Upload Statistics Excel file(s)</h4>
<p>
<input type="file" name="file" id="file" multiple/>
</p>
<input type="submit" onclick="ClearDirtyFlag();" />
上载统计数据Excel文件
因此,用户可以选择多个文件进行上传
在服务器端,我有以下代码:
public ViewResult UploadStatistics(List<HttpPostedFileBase> files)
{
//the issue is that the files parameter comes null...
}
public view结果上传统计信息(列表文件)
{
//问题是files参数为空。。。
}
注意:如果我不希望出现HttpPostedFileBase对象的列表(但只需要一个HttpPostedFileBase参数),那么代码工作正常
谁能告诉我这里有什么问题吗
致意。您的输入有name=“file”
,但POST方法中的参数名为files
——它们不匹配。将输入更改为
<input type="file" name="files" id="file" multiple/>
这使您能够应用验证属性并获得客户端和服务器端验证,从而获得额外的好处。您的输入具有name=“file”
,但POST方法中的参数名为files
——它们不匹配。将输入更改为
<input type="file" name="files" id="file" multiple/>
这使您能够应用验证属性并获得客户端和服务器端验证的附加好处
name=“file”
与您的参数名称(复数)不匹配。将其更改为name=“files”
(或将参数更改为List file
)@StephenMuecke谢谢,它工作得很好。如果您愿意,请将此作为答案写下来,这样我就可以接受它,也许它会帮助其他人。name=“file”
与您的参数名称(复数)不匹配。将其更改为name=“files”
(或将参数更改为List file
)@StephenMuecke谢谢,它工作得很好。如果你愿意,请写下这个作为答案,这样我可以接受它,也许它会帮助别人。
@Html.TextBoxFor(m => m.Files, new { type = "file" })