如何使用asp和c#下载多个文件

我对此很陌生,所以请耐心等待。 这是我的代码。 即使选择了多个文件,它也只下载一个文件。

foreach(String fileName in fileNameList) { FileInfo updateFile = new FileInfo("C:/inetpub/wwwroot/w4/DanyaWebReports/Data/" + fileName); Response.ContentType = "application/octet-stream"; Response.AddHeader("content-disposition", "attachment;filename=\"" + Path.GetFileName(updateFile.FullName) + "\""); Response.AddHeader("content-length", updateFile.Length.ToString()); Response.TransmitFile(updateFile.FullName); Response.Flush(); } 

这不是要走的路,你可以压缩所有选定的文件服务器端并只下载zip文件,或者你可以尝试使用客户端代码打开多个下载窗口,但在这种情况下我认为某些浏览器可能阻止popups与他们的弹出窗口拦截器。

类似的,你创建一个名为download.aspx的页面(甚至只是一个http处理程序)然后你通过JavaScript多次调用它:

 window.open("download.aspx?id=id of file1"); window.open("download.aspx?id=id of file2"); 

在这里查看您可以进一步详细说明的一些想法: ASP.NET下载多个文件