Webview将PDF下载到手机

时间:2012-11-22 21:07:57

标签: android file pdf webview download

目前我正在尝试在Webview中显示一些“动态”PDF文件。 这些PDF是从数据库加载并“浏览”到浏览器,这在所有PC浏览器甚至Android浏览器中都能正常工作。 我尝试了“content-type:application / pdf”甚至“application / octet-stream”,但两者都给出了相同的结果。

我尝试使用HttpClient和HttpURLConnection下载PDF,但我尝试了getContentLength();和getInputStream();继续说它只有100B。

因此,当我启动PDF意图时,Android告诉我它不是一个正确的PDF文件。

只有当我使用downloadListener并将URL放入intent(不先下载)时,Webview才会打开默认浏览器,立即自动开始下载。

所以我呈现PDF的方式似乎有效。但是我尝试从URL获取流的方式却没有。

关于这个主题的大量问题,遗憾的是,很少有正确/有效的答案......

Kinds问候!

编辑:网址不是www.xxx.com/file.pdf,但它是www.xxx.com/file.php?id=12345 因此,当我在移动浏览器中打开URL时,浏览器开始下载它,但是我的Webview中的下载代码似乎可以看到/找到一个文件。

1 个答案:

答案 0 :(得分:2)

我终于找到了解决方案! 我需要通过WebView的身份验证cookie!所以添加以下代码修复了我的问题;

String cookie = CookieManager.getInstance().getCookie(url.toString());
if (cookie != null) connection.setRequestProperty("cookie", cookie);