IE信息栏,下载文件...我该怎么编码呢?

时间:2009-05-27 13:40:29

标签: c# asp.net internet-explorer

我有一个网页(asp.net),它编译一个包然后通过javascript(window.location = ....)将用户重定向到下载文件。如果重定向不起作用,则会在页面上附带硬链接 - 在许多热门网站上模拟下载过程。当IE信息栏由于受限制的安全设置而出现在顶部,并且用户单击它以下载文件时,它会将用户重定向到页面,而不是下载文件,刷新页面并删除硬链接。 / p>

这里的信息栏是什么?它不应该将用户发送到重定向的位置吗?我是否在下载响应的标题中设置错误,或者首先发送其他错误的文件?

C#代码:

m_context.Response.Buffer = false;
m_context.Response.ContentType = "application/zip";
m_context.Response.AddHeader("Content-Length", fs.Length.ToString());
m_context.Response.AddHeader("Content-Disposition", string.Format("attachment; filename={0}_{1}.zip", downloadPrefix, DateTime.Now.ToString("yyyy-MM-dd_HH-mm")));
//send the file

1 个答案:

答案 0 :(得分:0)

当用户同意使用IE信息栏下载文件时,IE会重新加载当前页面,而不是用户尝试下载的文件页面。不同之处在于,一旦重新加载页面,IE将允许下载脚本通过而不提示用户。从设计的角度来看,我不确定这个想法是什么,但这就是看起来如何运作。