【问题标题】:'Open files based on content, not file extension' in IE 9IE 9 中的“基于内容而不是文件扩展名打开文件”
【发布时间】:2011-08-19 00:35:48
【问题描述】:

我正在为内部网上的客户提供网站支持。该站点包含指向 xml 文件的链接。这些 xml 文件具有唯一的扩展名,旨在由特定应用程序打开。使用 IE 8,我们可以通过在 Internet 选项 -> 安全 -> 自定义级别中设置“基于内容打开文件,而不是文件扩展名”选项来支持这一点。在 IE 9 中,此选项已被删除。现在这些文件打开一个新选项卡并显示 xml。

理想情况下,我希望文件只通过下载管理器下载,但在客户端计算机上的应用程序中打开文件也是可以接受的。在 IE 9 中执行此操作的最佳方法是什么?有我应该调整的设置吗?服务器端,我尝试调整 MIME 类型,但似乎如果我将它发送到未知的东西(例如application/octet-stream),IE 会确定内容。我能想到的最后一个选项是调整链接,使它们调用一个 asp.net 页面,该页面将 xml 的内容加载到响应对象中,但将标头更改为包含 Content-Disposition:"attachment;filename=file.ext”

关于解决这个问题的最佳方法有什么建议吗?

【问题讨论】:

    标签: asp.net mime-types internet-explorer-9


    【解决方案1】:

    Content-Disposition:attachment 是您正在寻找的,是的。这就是您如何指示浏览器单独下载文件,而不是尝试显示它。

    您可以使用路由或重写来保留文件 URL,但让 ASHX 处理文件,以便它可以设置该标题。 (不要使用 ASPX;这不仅仅是设置一些标题)

    【讨论】:

      【解决方案2】:

      我认为我正在寻找的解决方法是 IE8 中的“基于内容而不是文件扩展名打开文件”选项被重命名为 IE9 中的“启用 MIME 嗅探”。但 Andrew Barber 的答案是 正确 解决方案。

      【讨论】:

        猜你喜欢
        • 2015-08-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-07
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多