我有一个使用浏览器重定向打开资源的 Web 应用程序,我希望本机应用程序打开资源(图像或文本文件),而不是直接在浏览器中呈现文件。
服务器运行 IIS 7.5,客户端是运行 IE 9 或 10 的 Windows 7。请注意,我已经确保浏览器中的文件/程序关联未设置为 Internet Explorer。
例如,.txt 文件扩展名应该使用记事本而不是 IE 打开。这似乎是一个相对简单的请求,尽管我找不到任何关于如何更改它的参考。
我有一个使用浏览器重定向打开资源的 Web 应用程序,我希望本机应用程序打开资源(图像或文本文件),而不是直接在浏览器中呈现文件。
服务器运行 IIS 7.5,客户端是运行 IE 9 或 10 的 Windows 7。请注意,我已经确保浏览器中的文件/程序关联未设置为 Internet Explorer。
例如,.txt 文件扩展名应该使用记事本而不是 IE 打开。这似乎是一个相对简单的请求,尽管我找不到任何关于如何更改它的参考。
由于 IE 支持 MIME 处理程序,这比大多数人想象的要复杂。
在大多数情况下,您可以通过发送Content-Disposition: attachment; filename=whatever.dat
响应标头来获得您想要的行为。
如果您愿意,您还可以使用 IE8 中引入的指令来抑制“打开X-Download-Options
”按钮,以控制文件下载对话框中“打开”按钮的可见性。
请参阅http://blogs.msdn.com/ie/archive/2008/07/02/ie8-security-part-v-comprehensive-protection.aspx。该指令目前仅在 IE8+ 中受支持。此标头部分废弃了 IE6 中引入的现有“DownloadOptions”META 标记:http: //msdn.microsoft.com/en-us/library/ms533689 (VS.85).aspx 。