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

Ben*_*der 3 c# asp.net download

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

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();
}
Run Code Online (Sandbox Code Playgroud)

Dav*_*ras 11

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

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

window.open("download.aspx?id=id of file1");
window.open("download.aspx?id=id of file2");
Run Code Online (Sandbox Code Playgroud)

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