最近做一个项目用到多文件上传,分享下:

View:

  1. <script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script> 
  2.  
  3. <script type="text/javascript"> 
  4.  $(document).ready(function () {  
  5.             var i = 0;  
  6.             $("#AddFile").click(function () {  
  7.                 i++;  
  8.                 $("#Files").append("<li><input name='adjunct" + i +"' type='file' class='inputps' /></li>");  
  9.             });  
  10.  
  11.             $("#RemoveAdjunct").click(function () {  
  12.                 var Files = $("#Files > li");  
  13.                 var count = Files.size();  
  14.                 var li = Files.get(count - 1);  
  15.                 $(li).remove();  
  16.             });  
  17.         });  
  18. </script> 
  19. <form action="/Files/Post" method="post" enctype="multipart/form-data"> 
  20.   <div> 
  21.     Please select a file to upload:  
  22.     <ul id="Files"> 
  23.     </ul> 
  24.     <a id="AddFile" href="javascript:void(0)">增加一个文件 </a>   
  25.     <a id="RemoveFile" href="javascript:void(0)">删除一个文件</a> 
  26.     <input type="submit" value="Upload" /> 
  27.   </div>   
  28. </form>   

Controller:

  1. [HttpPost]  
  2. public ActionResult Post()  
  3. {  
  4.   foreach (string filename in Request.Files)  
  5.   {  
  6. //保存的本地
  7.       var file = Request.Files[filename];  
  8.       file.SaveAs("指定路径");
  9. //保存到数据库
  10. byte[] buffer;
          buffer = new byte[file.InputStream.Length];
          file.InputStream.Read(buffer, 0, buffer.Length);
  11.  
  12.   }