IE 7的bug? - 下载文件时提示保存/打开 - c#asp.net 3.5

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默认情况下禁用下载属性的事实.

Chr*_*lls 2

最近,我们在自定义 Web 框架中实现下载生成的报告时遇到了同样的问题。研究使我们尝试了您提到的相同方法(设置内容处置)。

该问题与 IE7 和安全区域有关。默认情况下,某些操作必须由用户显式启动。您可以首先查看了解并在保护模式 Internet Explorer 中工作以及关于窗口限制