Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用asp和C下载多个文件#_C#_Asp.net_Download - Fatal编程技术网

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

C# 如何使用asp和C下载多个文件#,c#,asp.net,download,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"; Respo

我对这方面还不太熟悉,所以请容忍我。这是我的密码。即使选择了多个文件,它也只下载一个文件

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();
}

这不是办法,您可以在服务器端压缩所有选定的文件并只下载压缩文件,或者您可以尝试使用客户端代码打开多个下载窗口,但在这种情况下,我认为一些浏览器可能会使用弹出窗口阻止器阻止弹出窗口

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

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

在这里查看一些您可以进一步阐述的想法:

这不是仇恨。向下投票是为了帮助您了解问题需要审查和改进。=)不过,令人遗憾的是,落选的选民没有解释你可以改进什么。谢谢戴维德。我会考虑这个的。