我在Intranet上支持客户端的站点。该站点包含指向xml文件的链接。这些xml文件具有唯一的扩展名,旨在由特定应用程序打开。使用IE 8,我们可以通过在Internet选项中设置“基于内容而不是文件扩展名打开文件”选项来支持这一点 - >安全 - >自定义级别。在IE 9中,此选项已被删除。现在这些文件打开一个新选项卡并显示xml。
理想情况下,我希望文件只通过下载管理器下载,但在客户端计算机上的应用程序中打开文件也是可以接受的。在IE 9中执行此操作的最佳方法是什么?有没有我应该调整的设置?服务器端,我已经尝试调整MIME类型,但似乎如果我将它发送到未知的东西(例如application/octet-stream
),IE确定内容。我能想到的最后一个选项是调整链接,使得它们调用一个asp.net页面,该页面将xml的内容加载到响应对象中,但更改标题以包含Content-Disposition:"attachment;filename=file.ext”
。
有关解决此问题的最佳方法的建议吗?
答案 0 :(得分:4)
Content-Disposition:attachment
,是的。这就是你如何指示浏览器单独下载文件,而不是试图显示它。
您可以使用路由或重写来保留文件URL,但让ASHX处理该文件,以便它可以设置该标头。 (不要使用ASPX;只需设置一些标题就可以了。)
答案 1 :(得分:2)
我认为我正在寻找的工作是IE8中的“基于内容而不是文件扩展名的打开文件”选项被重命名为“启用MIME嗅探”。但Andrew Barber的答案是正确的解决方案。