1.下载PDF文件到本地

 private void downFile(String urlString){try {URL url = new URL(urlString);HttpURLConnection connection = (HttpURLConnection)url.openConnection();connection.setRequestMethod("GET");connection.setDoInput(true);connection.setDoOutput(true);connection.setUseCaches(false);connection.setConnectTimeout(5000);connection.setReadTimeout(5000);//实现连接connection.connect();if (connection.getResponseCode() == 200) {InputStream is = connection.getInputStream();//以下为下载操作byte[] arr = new byte[1];ByteArrayOutputStream baos = new ByteArrayOutputStream();BufferedOutputStream bos = new BufferedOutputStream(baos);int n = is.read(arr);while (n > 0) {bos.write(arr);n = is.read(arr);}bos.close();String path = Environment.getExternalStorageDirectory()+ "/download/";String[] name = urlString.split("/");path = path + name[name.length - 1];File file = new File(path);FileOutputStream fos = new FileOutputStream(file);fos.write(baos.toByteArray());fos.close();//关闭网络连接connection.disconnect();Log.d("下载完成","下载完成");openPDF(file);//打开PDF文件}} catch (Exception e) {// TODO: handle exceptionSystem.out.println(e.getMessage());}}

2.打开PDF文件

private void openPDF(File file) {if (file.exists()) {Log.d("打开","打开");Uri path1 = Uri.fromFile(file);Intent intent = new Intent(Intent.ACTION_VIEW);intent.setDataAndType(path1, "application/pdf");intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);try {startActivity(intent);}catch (Exception e) {Log.d("打开失败","打开失败");}}}

3.新建一个线程调用下载方法

    private class MyAsyncTask extends AsyncTask<String, Void, File> {@Overrideprotected File doInBackground(String... str) {return downFile(str[0]);//开始下载}@Overrideprotected void onPostExecute(final File file) {//下载完成,修改UI}}

4.调用


String url = "https://staticzcjb.weibangong.com/pdf/business_license.pdf";
new MyAsyncTask().execute(url, null, null);

Android下载PDF文件相关推荐

  1. Android 在线PDF文件加载

    Android加载PDF文件,webview没有直接提供相关的API方法,不像IOS webview可以直接加载PDF文件,不管本地文件或者在线文件,而Android 的webview却不能加载,那么 ...

  2. php+预览和下载pdf文件,vue实现在线预览pdf文件和下载(pdf.js)

    最近做项目遇到在线预览和下载pdf文件,试了多种pdf插件,例如jquery.media.js(ie无法直接浏览) 最后选择了pdf.js插件(兼容ie10及以上.谷歌.安卓,苹果) 强烈推荐改插件, ...

  3. 微信公众号内,实现下载 PDF 文件。

    背景:需要在 微信公众号 内实现,通过点击一个[下载PDF文件]按钮,预期将 PDF 文件下载到本地自行打印. 前言:首先,本文采用的是 配合 后端 的实现方案.后端 返回file文件,通过 a 链接 ...

  4. java从页面下载pdf文件到本地

    java从页面下载pdf文件,strtus2为例,其他框架语法大致一样 直接上代码 这边我传了个参数 从数据库中查出来文件存在服务器的相对路径 页面 <button class="la ...

  5. H5 下载PDF文件

    h5 下载pdf 文件 请看代码: fetch(url).then(res => {* 响应一个promise 对象// 此处响应体的是一个 [ReadableStream]console.lo ...

  6. 下载PDF文件及打印PDF文件

    一:下载PDF 如果单纯的用A标签设置download属性来下载是直接打开pdf文件的而不是下载. import { download } from './download'; /*** 下载PDF文 ...

  7. PHP ajax 远程下载PDF文件保存在本地服务器

    在一些时候我们想ajax方式来保存一些PDF文件,尤其是它放在远程服务器上,并且是保存在我们自己的服务器上存储,这个时候我们需要写一段程序来帮助我们完成这个工作,本文介绍了PHP 远程下载PDF文件保 ...

  8. 使用js直接下载pdf文件而不用在新的浏览器窗口打开

    最近接了一个需求,要求用户点击下载按钮后直接下载pdf文件,而不是打开一个新窗口,让用户再去手动保存. 接到需求后我立刻着手在网上查找文档,发现很多声称可以实现直接下载的方法都不行,只有下面这个方法成 ...

  9. Linux无法阅读caj文件解决办法之一(下载pdf文件)

    在FireFox浏览器上直接安装下面链接中的脚本,然后重启浏览器就可以下载pdf文件了 https://greasyfork.org/zh-CN/scripts/389343-%E4%B8%AD%E5 ...

  10. 一步一步教你用Python爬虫框架Scrapy下载Pdf文件

    哈喽,感谢你在这寂寞的晚上看到这篇寂寞的文章.今天接到朋友的一个需求,下载pdf文件并且用网络上的书名保存.想到下载pdf文件啊,虽然requests也能实现,但是速度还是太慢了,于是乎,Scrapy ...

最新文章

  1. 解释一下SQLSERVER事务日志记录
  2. DIV与SPAN之间有什么区别
  3. 自动化监控--手动添加itme监控项详解
  4. Spring-AOP 自动创建代理
  5. C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc
  6. 美国留学计算机 奖学金,美国留学 计算机专业奖学金申请解析
  7. 超实用编程技术指南!为什么你还学不会一门编程语言?
  8. c语言学习-利用函数指针的方法,求任意给出两个整数的x和y的和、差。
  9. 首个谷歌TensorFlow安全风险被腾讯找到:攻击成本低、迷惑性强
  10. 人工智能目标检测模型(四)——ResNet
  11. java实现账号登陆界面_java用户登录界面的代码
  12. mysql学生信息管理系统设计_学生信息管理系统的设计与实现(MyEclipse,MySQL)
  13. python汉化之后好用吗_关于Python写的程序汉化心得和所走过的各种坑儿
  14. [Bilingual]Klein四元群的四个例子Four examples of Klein four-group
  15. 用svm预测信用卡诈骗
  16. 生物化学 核磁共振 氢谱 n+1定律 邻碳耦合 同碳耦合
  17. CoAP协议学习笔记——CoAP格式详解
  18. linux mac地址远程开机,用MAC地址远程开机的开机棒你见过吗?
  19. 【解决思路】Spring Boot:Error creating bean with name ‘xxxDao‘
  20. 如何解决VC++6.0文件打不开

热门文章

  1. C++中的矩阵特征值
  2. vue下载所有格式的文件
  3. 写一份竞品分析文档的思路(模板)
  4. mac os 录屏快捷键_录制视频软件哪个好用?分享专业的录屏神器
  5. html默认初始代码
  6. 二进制数的算术运算和逻辑运算
  7. webex无法用计算机呼叫,WebEx使用指南.PDF
  8. 用usbserver实现加密狗共享
  9. 怎么发语音短信?互亿无线语音通知接口产品特性介绍
  10. 51单片机 wifi模块代码编写的历程 esp8266