Boo*_*aka 7 c# asp.net-3.5 content-disposition internet-explorer-7
我有一个带链接按钮的aspx页面,可以触发javascript弹出一个新的aspx页面,将文件流式传输到浏览器供用户下载.
在XP SP3,IE 7和FireFox 3.5上进行开发和单元测试时,使用以下代码(key是Content-Disposition标签中的"附件"部分),都会提示一个对话框,询问我是否要保存或打开文档,这正是我想要发生的事情:
private void WriteFileToBrowser(Byte[] requestFile, string filename, String m_mimeType, String m_format)
{
Response.Clear();
Response.AddHeader("Content-Disposition", "attachment;filename=" + filename + "." + m_format);
Response.ContentType = m_mimeType;
Response.BinaryWrite(requestFile);
Response.Flush();
}
Run Code Online (Sandbox Code Playgroud)
当我将其部署到Windows 2003服务器并导航到同一个aspx页面时,FireFox 3.5正确地要求保存/打开选项,因为这是FF中的默认操作.
然而,当我在IE 7中导航并单击下载时,我会看到一个弹出窗口,该窗口在1/8秒的顶部可见...并且消失.没有提示保存/打开.
如果我进入IE 7 - >工具 - > Internet选项 - >安全 - >自定义级别 - >下载
禁用自动提示文件下载.当我检查它以启用i然后得到保存/打开提示以正常工作.
所以我的问题是.....有没有人得到一个解决这个问题的工作?我已经尝试了一些人们声称可以使用不同的标头标签(如缓存,编译指示等等)的东西...这些都没有解决IE默认情况下禁用下载属性的事实.
最近,我们在自定义 Web 框架中实现下载生成的报告时遇到了同样的问题。研究使我们尝试了您提到的相同方法(设置内容处置)。
该问题与 IE7 和安全区域有关。默认情况下,某些操作必须由用户显式启动。您可以首先查看了解并在保护模式 Internet Explorer 中工作以及关于窗口限制
| 归档时间: |
|
| 查看次数: |
13953 次 |
| 最近记录: |