gpt4 book ai didi

Android PDF 未在浏览器和 WebView 中加载

转载 作者:IT老高 更新时间:2023-10-28 22:09:48 28 4
gpt4 key购买 nike

我正在尝试在 Android Webview 中加载 PDF 文件。当我用谷歌搜索它时。我发现的最佳答案是使用 Google Docs。现在我所做的是在此 URL 的末尾附加 PDF 文件 URL https://docs.google.com/gview?embedded=true&url=

然后在 android WebView 中加载这个完整的 URL。它成功加载PDF。但是以下 URL 上的一个 PDF 文件未在 WebView 和 Chrome 浏览器(在我的系统上)中加载。 PDF URL 是

http://www.expertagent.co.uk/asp/in4glestates/ {16D968D6-198E-4E33-88F4-8A85731CE605}/{05c36123-4df0-4d7d-811c-8b6686fdd526}/external.pdf

当我尝试将 PDF 加载为 https://docs.google.com/gview?embedded=true&url=www.expertagent.co.uk/asp/in4glestates/ {16D968D6-198E-4E33-88F4-8A85731CE605}/{05c36123-4df0-4d7d-811c-8b6686fdd526}/external.pdf

然后它说没有可用的预览。谁能告诉我这里出了什么问题。

最佳答案

这不是一个完整的答案。我调查了几种可能性,但仍然没有对此行为有令人信服的解释。

理论 A:URL 编码...否

我的第一个想法和@gn1 一样——需要大括号URL encoding .不幸的是,编码 url 参数不会改变结果。

理论 B:错误的 PDF 文件...否

接下来,我认为 Google Docs 可能无法处理这个特定的 PDF 文件 - 它是不受支持的版本,或者使用了可选功能,甚至存在其他查看者可以容忍的错误。我下载了一个副本并将其托管在另一个站点上。当我将 Google Docs 指向新位置时,它的预览效果很好。

理论 C:不合作的网站...不

接下来我想也许这个网站出于某种原因不与 Google Docs 合作 - 也许它阻止了 Google 对其进行索引。我在同一个网站上找到了另一个具有相同方案的 PDF 链接:

http://www.expertagent.co.uk/asp/in4glestates/%7B6dad6f28-a59d-4b54-b277-52f077f4927f%7D/%7Be3a6d17c-d6a8-4e92-8f52-09c6721515fc%7D/External.pdf

当我将 Google Docs 指向此链接时,它预览良好。

理论 D:不同的元数据...否

现在我有一个有效的链接和一个无效的链接。也许他们的元数据不同 - 例如也许工作的一个被标记为 application/pdf 而另一个没有。所以我查看了 HTTP header 。

工作网址:

HTTP/1.1 200 OK
Cache-Control: max-age=3600
Content-Length: 1767120
Content-Type: application/pdf
Last-Modified: Fri, 02 Nov 2007 12:45:00 GMT
Accept-Ranges: bytes
ETag: "46b1592e4e1dc81:13e6"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 03 Jun 2015 23:25:23 GMT

网址无效:

HTTP/1.1 200 OK
Cache-Control: max-age=3600
Content-Length: 4623702
Content-Type: application/pdf
Last-Modified: Mon, 11 May 2015 15:53:16 GMT
Accept-Ranges: bytes
ETag: "acac5d9828cd01:13e6"
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
Date: Wed, 03 Jun 2015 23:25:42 GMT

我发现元数据没有明显的差异。

理论 E:来自 Google 的奇怪请求……不

诚然,我现在正抓着稻草。我想知道来自 Google 的请求是否有所不同 - 也许它要求字节范围或模糊压缩或其他东西,而目标服务器并没有始终如一地处理它。因此,我将 Google Docs 指向我控制的站点,以查看 HTTP 请求的样子:

GET /asp/in4glestates/%7B16D968D6-198E-4E33-88F4-8A85731CE605%7D/%7B05c36123-4df0-4d7d-811c-8b6686fdd526%7D/External.pdf HTTP/1.1
Host: www.example.com:55555
Connection: Keep-alive
Accept-Encoding: gzip,deflate
User-Agent: Mozilla/5.0 (compatible; Google AppsViewer; http://drive.google.com)

这一点也不奇怪。我确实验证了目标站点忽略了压缩请求,因此这不是压缩错误的情况。我还尝试使用该 User-Agent header 访问目标站点,但这似乎并不重要。


所以我找到了一些线索,可以帮助我们告诉我们什么不是问题,但还没有任何线索可以解释什么是问题。我发帖是希望这些负面结果仍然对某人有用。

关于Android PDF 未在浏览器和 WebView 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30461392/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com