使用单个文件标记上载多个文件

时间:2014-02-26 12:21:49

标签: asp.net-mvc asp.net-mvc-3 razor file-upload multiple-files

我看过很多关于每个人都在使用这种方法的帖子

<form action="" method="post" enctype="multipart/form-data">    
  <input type="file" name="files" id="file1" />
  <input type="file" name="files" id="file2" />    
  <input type="submit"  />
</form>

然后在控制器中使用

[HttpPost]
public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
{
    foreach(var file in files)
    {
            file.SaveAs("myPath");
    }     
    return RedirectToAction("Index");
}

我试过这种方式并且成功了。但当我用

做的时候
<form action="" method="post" enctype="multipart/form-data">    
  <input type="file" name="files" id="file" multiple />   
  <input type="submit"  />
</form>

这会在客户端选择多个文件,但如果我在控制器中使用相同的上述(控制器)代码,我只能上传一个文件。

解决方案是什么(控制器代码)如果我想方便用户选择所有想要的图像(假设他/他们在相同的文件夹/目录中)意味着使用单个文件标签。不像(这些很多文章)

http://www.codeproject.com/Articles/442515/Uploading-and-returning-files-in-ASP-NET-MVC

http://haacked.com/archive/2010/07/16/uploading-files-with-aspnetmvc.aspx/

http://demos.devexpress.com/MVCxFileManagerAndUploadDemos/UploadControl/MultiFileUpload

1 个答案:

答案 0 :(得分:3)

[HttpPost]
public ActionResult Upload()
{
foreach(var file in Request.Files)
{
        file.SaveAs("myPath");
}     
return RedirectToAction("Index");
}