android webview浏览器下载文件,Android 浏览器 —— 使用 WebView 实现文件下载
对当前的WebView设置下载监听
mCurrentWebView.setDownloadListener(newDownloadListener() {
@Overridepublic void onDownloadStart(final String url, String userAgent, String contentDisposition, String mimetype, longcontentLength) {//TODO 实现下载逻辑
Log.e("onDownloadStart", "url===" + url + "---userAgent=" + userAgent + "---contentDisposition=" + contentDisposition + "---mimetype=" + mimetype + "---contentLength=" +contentLength);
}
});
下载文件核心代码:
HttpParams params = newBasicHttpParams();
HttpConnectionParams.setConnectionTimeout(params,5 * 1000);
HttpConnectionParams.setSoTimeout(params,5 * 1000);
HttpGet httpGet= newHttpGet(url);try{
File file= newFile(Environment.getExternalStorageDirectory(), fileName);if (!file.exists()) {
file.createNewFile();
}
RandomAccessFile randomFile= new RandomAccessFile(file, "rw");
HttpResponse response= newDefaultHttpClient(params).execute(httpGet);
HttpEntity entity=response.getEntity();
InputStream in=entity.getContent();
randomFile.seek(randomFile.length());byte[] buffer = new byte[1024];int lenght = 0;while ((lenght = in.read(buffer)) > 0) {
randomFile.write(buffer,0, lenght);
DebugTraceTool.debugTraceE(this, "file length == " +randomFile.length());
}
randomFile.close();
httpGet.abort();
}catch(Exception e) {
e.printStackTrace();
}
需要注意的点:
1.需要单启动一个线程,不能在主线程执行文件下载的操作.
2.下载的文件名,长度有限制,推荐文件的名称的长度控制在100.防止出现IOException: open failed: ENAMETOOLONG (File name too long)错误,导致下载的任务无法正常开始. 原因: Java语言规范中对文件名的长度是没有限制的。但是操作系统对文件名的长度有限制,最常见的是255个字节,这个限制长度包括文件名的后缀,如.mp3,.mkv等。
原文:http://www.cnblogs.com/renhui/p/6144639.html
android webview浏览器下载文件,Android 浏览器 —— 使用 WebView 实现文件下载相关推荐
- android程序内下载文件,android文件下载代码 android程序 里如何编写下载代码
android开发文件下载在手机报错 package cc.download; import android.app.Activity;import android.os我比任何人都懂你不会真的陪我到 ...
- java中浏览器下载文件_浏览器下载java项目中的文件
有一些文件保存在项目中需要在浏览器打开的页面中下载,需要找准文件的存储路径 工程格式 2.代码 public String execute() throws Exception { HttpServl ...
- Android之解决PC端上传http表单格式文件手机解析文件名乱码问题和PC浏览器下载文件的文件名显示乱码问题
1 问题 问题1. 手机写socket作为服务器,PC浏览器上传http表单格式文件,然后手机端解析携带中文的文件名我解析是乱码. 问题2. 手机写了socket作为服务器,PC浏览器下载文件,但是浏 ...
- Java 浏览器下载文件及文件预览
插曲想记录一下,以后可以来粘贴复制用 一>浏览器下载文件 setContentType() 该实体头的作用是让服务器告诉浏览器它发送的数据属于什么文件类型. 没有缓存 response.addH ...
- Blazor 中如何下载文件到浏览器
Blazor 中如何下载文件到浏览器 目录 一.前言 二.方法一(导航跳转) 三.方法二(下载后传出) (一) 使用 RestSharp 下载 (二) 使用 BlazorDownloadFile 传出 ...
- springboot Java实现多文件的zip压缩操作 + 通过浏览器下载文件的两种方式
注只适配utf-8的场景,待完善! 压缩为zip文件 通过java程序输出文件 /*** 功能:压缩多个文件成一个zip文件* @param srcfile:源文件列表* @param zipfile ...
- 浏览器下载文件时一共发送2次请求,如何把“下载次数”只记录为1次?
最近,个人官网实现了PDF下载功能,出于统计的考虑,增加了"下载次数"download_count这个字段. 但是,我今天突然发现,每次下载download_count都直接+2了 ...
- Python+Selenium练习篇13-设置浏览器下载文件默认地址
本文介绍如何设置浏览器下载文件默认地址 设置Selenium自动化下载的浏览器默认地址 本人使用浏览器Chrome,python3.7 代码如下: # coding=utf-8 from seleni ...
- 解决浏览器下载文件时中文文件名乱码的问题
解决浏览器下载文件时中文文件名乱码的问题 很多时候我们需要在后台为前端提供文件下载的功能,但是当文件名中有中文时我们不能直接将文件名返回,需要对中文的文件名进行处理后再返回. 一.文件下载contro ...
- 360浏览器下载文件成功但文件异常问题
最近遇到用360浏览器下载文件,瞬间完成.但试图打开文件却打不开.用另一台电脑下载同样地址文件,发现文件大小不一样.怀疑是系统环境出了问题. 打开360卫士,找到[断网急救箱]执行[全面诊断]发现 [ ...
最新文章
- CentOS6.7安装mysql5.7
- Web开发的那点事--业务层常用功能
- Codeigniter夸应用调用model
- Oracle下的用户创建角色、授权、建立表空间
- [转]C#综合揭秘——细说进程、应用程序域与上下文之间的关系
- web的标准网页设计与php课后,第3章web标准与html
- Java Web ——基于Jsp+Servlet的学生上课签到打卡系统/上课考勤管理系统
- IDEA2021.03 Tomcat热部署的实现
- 怎么让模糊的数字变清楚_如何用ps将模糊图片变清晰?
- mysql连接失败问题
- The project uses Gradle 4.4 which is incompatible with Java 11 or newer.
- RT-thread实现USB虚拟U盘 模拟读卡器读写sd0
- NVIDIA Jetson官网资料整理
- 华为4G路由器2虚拟服务器,华为4g2pro路由器虚拟服务器设置
- 利用electron-vue技术实现一个邮箱客户端应用的项目总结
- java获取text plain_request中获取post的json对象数据content-type=“text/plain”
- SHT30 温湿度传感器,检验不通过,通讯不稳定(经常读到FF)问题处理
- Java面试要点整理
- 解魔方机器人一秒搞定魔方
- 简单的医院挂号排队系统(c语言)
热门文章
- C4D本来很简单(新手入门学习方法+C4D工作流程)
- java-net-php-python-jspm网上订餐系统查重PPT计算机毕业设计程序
- 无法导入reg:指定的文件不是注册脚本——兼了解文本格式问题
- 短视频素材:17个视频网站,涨粉必上热门
- python爬取别人qq空间相册_python+selenium+requests爬取qq空间相册时遇到的问题及解决思路...
- Servlet容器与Web容器详解
- linux中的通配符指的是?
- Photoshop下载
- android开发 判断连点退出
- 主数据及其管理MDM