【问题标题】:How to open pdf in external browser from an app's webview instead of open it?如何从应用程序的 webview 在外部浏览器中打开 pdf 而不是打开它?
【发布时间】:2015-11-02 20:40:15
【问题描述】:

在我的应用程序的 webview 中,网页包含指向 pdf 文件的链接。像这样:

<a href="https://test.com/Pdf.htmsmh?dyF3jeTQ%2BwSah4RixlvIPcawMnJI%2F5Jm" target="_blank">Window Sticker</a>

点击此链接时,会弹出浏览器选择,让我选择要打开应用的浏览器,目前有默认浏览器和Chrome。

但是,当我选择浏览器时,他们都将这个 pdf 文件下载到手机中,但没有打开它。

只是想知道,我怎么能让浏览器直接打开pdf,但不下载呢?

谢谢!

【问题讨论】:

  • 该链接是否提供了具有适当 mime 类型的 pdf?如果它以(比如)application/octet-stream 的形式出现,他们不会尝试以 pdf 格式打开它......
  • 如果这是一个愚蠢的问题,请道歉...但是我如何检查此链接的类型?通过使用桌面版 chrome,我发现有一个“Content-Type”字段指示“application/pdf”,但没有找到 mime 类型。谢谢!
  • 那将是正确的 mime 类型。下一步:检查 content-disposition 标头是什么。如果它说链接是下载,那么大多数浏览器都会遵守它并尝试保存它而不是显示它。
  • Content-Deisposition 标头是“内联”的。这是正确的标题吗?

标签: android google-chrome android-webview android-browser


【解决方案1】:

我不知道 Android 上的任何 Web 浏览器会直接呈现 PDF 本身。如果浏览器正在下载 PDF,那是因为它本身不处理 PDF,它允许用户在他们选择的 PDF 查看器应用程序中查看 PDF。

让浏览器自己渲染 PDF 的唯一方法是加载本身就是 PDF 渲染器的东西(例如,Mozilla 的 pdf.js)并让 渲染你的 PDF .请注意,目前这在 Android 中相当少见,我不知道 pdf.js 是否特别适用于主要的 Android 浏览器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-30
    • 1970-01-01
    • 2020-10-25
    • 2022-12-15
    • 2012-08-18
    • 1970-01-01
    相关资源
    最近更新 更多