有没有办法通过注册 mime 类型来避免 ie9 中的“打开另存为”对话框?

Posted

技术标签:

【中文标题】有没有办法通过注册 mime 类型来避免 ie9 中的“打开另存为”对话框?【英文标题】:is there a way to avoid the 'open save save as' dialog in ie9 by registering a mime type? 【发布时间】:2011-10-08 23:06:08 【问题描述】:

我正在尝试绕过 ie9 中的“打开、保存、另存为”对话框来获取 word 完美文档。理想情况下,我的客户希望在用户单击 wpd 文档的链接而不提示用户时弹出 wordperfect。是否可以通过定义 mime 类型来做到这一点?

http://msdn.microsoft.com/en-us/library/ms775148(v=vs.85).aspx

上面的页面提到了一些关于这些注册表项的内容,但我不清楚这是否会解决我的问题。

HKEY_LOCAL_MACHINE 
     Software
          Microsoft
               Windows
                    CurrentVersion
                         InternetSettings
                              Secure Mime Handlers
HKEY_CURRENT_USER 
     Software
          Microsoft
               Windows
                    CurrentVersion
                         InternetSettings
                              Secure Mime Handlers

谢谢

【问题讨论】:

【参考方案1】:

您是否使用application/wordperfect 的HTTP Content-Type 标头发送文件?这是 IE 确定如何打开文件的第一件事。

你提到的链接说

在 Windows XP SP2 及更高版本中,下载文件后,Internet Explorer 会查询注册表以找出与文件的 MIME 类型相关联的 ProgID 和 CLSID。然后浏览器会找到与文件扩展名关联的 ProgID 和 CLSID。如果这些 ProgID 不匹配,并且 CLSID 不匹配,Internet Explorer 会在执行文件之前提示用户,作为安全预防措施。

也就是说,如果您使用 Content-Type application-wordperfect 并且您的文件以 .wpd 结尾,那么这足以自动打开文件,因为 WordPerfect 在安装时使用适当的 ProgID 和 CLSID 注册了自己。

您可以在客户的注册表中检查是否存在适当的条目,该链接中的Registry Locations 显示您必须在哪里查找它们。

【讨论】:

以上是关于有没有办法通过注册 mime 类型来避免 ie9 中的“打开另存为”对话框?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过内容确定文件的 MIME 类型?

由于 mime 类型不匹配,IE9 脚本响应被阻止

有没有办法为 Starlette/Uvicorn 显式设置 MIME 类型?

兼容模式下ie9和ie10显示样式在不兼容模式下为啥不加载css样式?

在 web.config 中注册 MIME 类型不起作用?

IIS6 服务未注册的 MIME 类型