我有一个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)没有下载窗口打开,它等待直到全部下载然后立即下载文件。为什么或更好的方法做任何想法?
答案 0 :(得分:0)
答案 1 :(得分:0)
由于一个奇怪的原因,我在提供zip的页面上有以下代码:
private void SetPageCachingToZero()
{
Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d);
Response.Expires = -1500;
Response.CacheControl = "no-cache";
}
这在Chrome或Firefox中没有任何区别,但在IE中我不得不点击链接两次。第一次它会失败。