这个问题可能是因为在使用多文件上传时没有正确地设置表单,并且在控制器中也没有正确地获取文件流。以下是一个简单的示例,可用于在ASP.NET MVC中实现多文件上传。
在视图中,设置表单以允许多文件上传:
@using (Html.BeginForm("ActionName", "ControllerName", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
}
然后,在控制器中,我们需要获取文件流并保存到服务器:
[HttpPost]
public ActionResult ActionName(IEnumerable files)
{
foreach (var file in files)
{
if (file != null && file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/App_Data/uploads"), fileName);
file.SaveAs(path);
}
}
return RedirectToAction("Index");
}
这个示例中,我们使用foreach循环遍历每个上传的文件,并将其保存到服务器上的uploads文件夹中。如果你的程序仍然无法正常工作,你可以在控制器中使用调试器,并使用断点跟踪每个步骤,以了解程序何处出了问题。