【问题标题】:ASP.net download link sometimes pops up download windowASP.net 下载链接有时会弹出下载窗口
【发布时间】:2011-01-29 10:46:02
【问题描述】:

我有一个 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)中,没有打开下载窗口,它会等到全部下载完毕后立即下载文件。关于为什么或更好的方法来做到这一点的任何想法?

【问题讨论】:

    标签: c# asp.net download


    【解决方案1】:

    您可以使用the content-disposition header强制保存文件

    【讨论】:

      【解决方案2】:

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

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

      这在 Chrome 或 Firefox 中没有任何区别,但在 IE 中我必须单击该链接两次。第一次会失败。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-27
        • 2013-07-30
        • 1970-01-01
        相关资源
        最近更新 更多