网站上的PDF在浏览器上看起来是乱码,但下载后可以打开

问题描述 投票:0回答:1

我编写了这个托管在 cloudflare 上的基本 html 网站:https://logic-labs.in/workshops

当我尝试打开链接的PDF时,它在浏览器中出现乱码(无论是Firefox还是Chrome,它都是在Safari中下载而不是在浏览器中打开)。下载此文件后,它可以正常打开。我不确定是什么问题。 html 元素是

<li><a href="resources/two_logiclabs-flyer-vels-academy.pdf" target="_blank" class="button">Flyer</a></li>

您能帮忙或为我指出正确的资源吗?

  1. MIME 类型:我尝试使用 type=application/pdf 以防由于 MIME 类型而出现问题
  2. 我尝试删除 html 文件中的所有警告,然后托管测试部署:https://test.logic-labs.pages.dev/
  3. 我还尝试删除 target="_blank"
  4. 在检查元素后尝试理解控制台输出,但我对此相当陌生,不确定如何继续。我看到一些警告,例如无法识别的内容安全策略指令“require-trusted-types-for”,但想必它们不应该引起问题。

编辑1

我尝试添加包含以下内容的 _headers 文件。这似乎没有帮助。

https://test.logic-labs.pages.dev/resources/himalaya_CV.pdf
    Content-Type: application/pdf
    Accept: application/pdf
    Referrer-Policy: origin
    X-Frame-Options: SAMEORIGIN
    Content-Disposition: inline
html pdf mime-types cloudflare cloudflare-pages
1个回答
0
投票

我在您的回复中没有看到内容类型(也没有内容处置,尽管这不是强制性的)标头。这大概就是乱七八糟的原因吧。尝试以

curl -L -v 'https://github.com/progit/progit2/releases/download/2.1.437/progit.pdf' > /dev/null
为例。它将内容类型返回为 application/octet-stream,其中默认浏览器操作是下载文件。

如果您自己设置它们但仍然看不到任何内容,我猜测您的 CDN (cloudflare) 正在重写它们或提供文档的缓存版本。

© www.soinside.com 2019 - 2024. All rights reserved.