2014-02-26 37 views
1

我看到每個人都很多帖子單個文件的代碼使用這種方法多個文件上傳使用

<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

+0

代碼在問題中提到的罰款其實。所以問題是無效的。答案是有效的。在我的實際中,我在這個循環中有一行'return RedirectToAction(「Create」)'foreach(var file in files)',所以它在保存一個圖像後返回給我 – Sami

回答

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