【问题标题】:multiple files upload using single file tag使用单个文件标签上传多个文件
【发布时间】:2014-03-29 06:31:11
【问题描述】:

我看过很多帖子说大家都在用这个方法

<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

【问题讨论】:

  • 问题中提到的代码实际上很好。所以提问无效。答案有效。在我的实际中,我在这个循环中有一行 return RedirectToAction("Create") foreach(var file in files) 所以它在保存一张图片后返回了我

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


【解决方案1】:
[HttpPost]
public ActionResult Upload()
{
foreach(var file in Request.Files)
{
        file.SaveAs("myPath");
}     
return RedirectToAction("Index");
}

【讨论】:

    猜你喜欢
    • 2012-04-06
    • 2017-11-17
    • 1970-01-01
    • 2014-05-04
    • 2020-01-08
    • 1970-01-01
    • 2013-02-02
    • 1970-01-01
    • 2019-01-29
    相关资源
    最近更新 更多