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

时间:2010-12-28 03:28:21

标签: c# asp.net download

我有一个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)没有下载窗口打开,它等待直到全部下载然后立即下载文件。为什么或更好的方法做任何想法?

2 个答案:

答案 0 :(得分:0)

您可以使用the content-disposition header

强制保存文件

答案 1 :(得分:0)

由于一个奇怪的原因,我在提供zip的页面上有以下代码:

    private void SetPageCachingToZero()
    {
         Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
         Response.Expires = -1500;
         Response.CacheControl = "no-cache";
    }

这在Chrome或Firefox中没有任何区别,但在IE中我不得不点击链接两次。第一次它会失败。