近期谷歌搜索控制台 在我们的 ASP.NET 网站上报告了指向 PDF 文档的 url 的覆盖问题。
到目前为止,在我们的 web.config 文件中,我们没有任何用于 PDF 文档的 MIME 设置。但确实,在本地主机和生产环境中,在 Chrome 中,在移动环境中 PDF url 生成带有消息 no enabled plugin supports this MIME type
的空内容:
在桌面上下文中,PDF 文档直接在 Chrome 中打开。
使用该文件(如下)更新 web.config 文件会导致相同的描述行为,无论是在移动设备还是桌面环境中。
<system.webServer>
<staticContent>
<remove fileExtension=".pdf" />
<mimeMap fileExtension=".pdf" mimeType="application/pdf" />
</staticContent>
<system.webServer>
使用(如下)更新 web.config 文件会强制浏览器在两种情况下下载 PDF。 <system.webServer>
<staticContent>
<remove fileExtension=".pdf" />
<mimeMap fileExtension=".pdf" mimeType="application/octet-stream" />
</staticContent>
<system.webServer>
到目前为止,这是最好的解决方案,因为它允许移动用户获取 PDF,这将修复 google 警告。但是,我想在桌面上下文中在浏览器本身中打开 PDF 并在移动上下文中下载它。是否可以?
最佳答案
观察到的行为是特定于设备/媒体类型的;在 Web 服务器级别处理此问题是具有挑战性的。还有一些简单的approaches但他们只带你到这里,一些商业IIS detection solutions可以帮助。
我想,对网站进行调整可能会更有益。可能有 header issues ,或承认这种行为并管理期望。
在移动设备上保持一致的行为是很困难的,并且没有简单的方法来确定设备、移动操作系统或外形是否能够像在桌面上那样在嵌入 HTML 的 PDF 文档中打开。在所有常见浏览器和设备上显示嵌入式文档的最小公分母通常是具有下载链接。
关于asp.net-mvc - "no enabled plugin supports this MIME type"移动设备上的 PDF 文档消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65319288/