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

标签 c# internet-explorer-7 asp.net-3.5 content-disposition

我有一个带有链接按钮的 aspx 页面,可以触发 javascript 弹出一个新的 aspx 页面,将文件流式传输到浏览器供用户下载。

在XP SP3、IE 7和FireFox 3.5上开发和单元测试时,使用如下代码(关键是Content-Disposition标签中的“attachment”部分),都会提示一个对话框询问我是否要保存或打开文档,这正是我想要发生的事情:

        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();

    }

当我将其部署到 Windows 2003 服务器并导航到相同的 aspx 页面时,FireFox 3.5 会按预期正确要求保存/打开选项,因为这是 FF 中的默认操作。

但是,当我在 IE 7 中导航并单击下载时,我得到一个弹出窗口,该窗口在 1/8 秒顶部可见...然后消失。没有提示保存/打开。

如果我进入 IE 7 -> 工具 -> Internet 选项 -> 安全 -> 自定义级别 -> 下载

文件下载的自动提示被禁用。当我选中它以启用时,我会得到保存/打开提示以正常工作。

所以我的问题是......有没有人解决这个问题?我已经尝试了很多人们声称可以使用不同的 Header 标记(例如缓存、pragma 等)的方法……这些都无法解决 IE 默认禁用下载属性的事实。

最佳答案

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

问题与 IE7 和安全区域有关。默认情况下,某些操作必须由用户显式启动。您可以先查看 Understanding and Working in Protected Mode Internet ExplorerAbout Window Restrictions

关于c# - IE 7 错误? - 下载文件时提示保存/打开 - c# asp.net 3.5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1272702/

相关文章:

html - IE7 默认元素为 100% 宽度

asp.net - 什么是 ASP.NET Web 应用程序项目中的 UseCustomServer 和 Use Custom Server Url?

asp.net - .NET 3.5 DirectoryServices.AccountManagement 中的等效名称解析 (anr=*ma*)

当 WCF 方法抛出异常时,jQuery 成功回调以空响应调用

c# - .NET (C#) 的 Twitter OAuth 授权问题

c# - 事件日志实用性

html - PNG图片在IE8中出现,在IE7中消失

css - 如何使用:before :after in IE6, 7?

c# - 尝试使用 VB6 Form 调用 OLEDB 提供程序时应用程序消失

c# - 如何在ado.net中使用sql server存储过程的输出参数和选择查询结果?