2009-05-27 45 views
0

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

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

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 
+0

在没有更多代码的情况下很难提供帮助...重定向JS,页面标记以及发布zip文件的其他代码将会很有帮助。 – 2009-05-27 14:25:34

回答

0

当用户同意下载使用IE信息栏的文件时,IE浏览器重新加载当前页面,而不是用户试图下载该文件的网页。不同之处在于,一旦页面被重新加载,IE将允许下载脚本通过,而不会提示用户。从设计的角度来看,我不确定这个想法是什么,但这就是它的工作原理。