Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.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.net下载链接有时会弹出下载窗口_C#_Asp.net_Download - Fatal编程技术网

C# ASP.net下载链接有时会弹出下载窗口

C# ASP.net下载链接有时会弹出下载窗口,c#,asp.net,download,C#,Asp.net,Download,我有一个ASP.NET端点,它接受一个带有一些参数的文件请求,确定要为哪个文件提供服务,并执行如下操作: ... if (File.Exists(zipPath)) { string fileSaveName = "YourZip.zip"; Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-

我有一个ASP.NET端点,它接受一个带有一些参数的文件请求,确定要为哪个文件提供服务,并执行如下操作:

...
if (File.Exists(zipPath))
{                
    string fileSaveName = "YourZip.zip";                 

    Response.ContentType = "application/octet-stream";
    Response.AppendHeader("Content-Disposition", 
                     "attachment; filename=\"" + fileSaveName + "\"");
    Response.TransmitFile(zipPath);
    Response.End();
}
else
{
    Throw404();
}

问题在于Firefox和Chrome(没有检查IE)都没有打开下载窗口,它会等到下载完毕后立即下载文件。想知道为什么或者更好的方法吗?

出于一个奇怪的原因,你可以使用

强制保存一个文件。我在提供zip的页面上有以下代码:

    private void SetPageCachingToZero()
    {
         Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
         Response.Expires = -1500;
         Response.CacheControl = "no-cache";
    }
这在Chrome和Firefox中没有区别,但在IE中,我必须点击两次链接。第一次它会失败