网络下载功能实现(downloader ) ---- HTML5+
模块:downloader
Downloader模块管理网络文件下载任务,用于从服务器下载各种文件,并支持跨域访问操作。通过plus.downloader获取下载管理对象。Downloader下载使用HTTP的GET/POST方式请求下载文件,符合标准HTTP/HTTPS传输协议。
应用场景:音频下载,视频下载,文件下载,数据缓存(断网操作);
Downloader对象:downloader
plus.downloader.createDownload( url, options, completedCB );
对象:plus.downloader.createDownload(url,options,completedCB);
url:需要下载的文件的地址;
options:属性非常多:
method: (String 类型 )网络请求类型
支持http协议的“GET”、“POST”,默认为“GET”请求。 data: (String 类型 )POST请求时提交的数据
仅在网络请求类型method设置为"POST"时有效,"GET"请求时忽略此数据。 filename: (String 类型 )下载文件保存的路径
保存文件路径仅支持以"_downloads/"、"_doc/"、"_documents/"开头的字符串。 文件路径以文件后缀名结尾(如"_doc/download/a.doc")表明指定保存文件目录及名称,以“/”结尾则认为指定保存文件的目录(此时程序自动生成文件名)。 如果指定的文件已经存在,则自动在文件名后面加"(i)",其中i为数字,如果文件名称后面已经是此格式,则数字i递增,如"download(1).doc"。 默认保存目录为("_downloads"),并自动生成文件名称。 priority: (Number 类型 )下载任务的优先级
数值类型,数值越大优先级越高,默认优先级值为0。 timeout: (Number 类型 )下载任务超时时间
数值类型,单位为s(秒),默认值为120s。 超时时间为服务器响应请求的时间(不是下载任务完成的总时间),如果设置为0则表示永远不超时。 retry: (Number 类型 )下载任务重试次数
数值类型,默认为重试3次。 retryInterval: (Number 类型 )下载任务重试间隔时间
数值类型,单位为s(秒),默认值为30s。
Downloader对象属性和方法:
readonly attribute String id;
readonly attribute String url;
readonly attribute Number state;
readonly attribute DownloadOptions options;
readonly attribute String filename;
readonly attribute Number downloadedSize;
readonly attribute Number totalSize;
function void abort();
function void addEventListener( String event, function Callback listener, Boolean capture );
function String getAllResponseHeaders();
function String getResponseHeader( headerName );
function void pause();
function void resume();
function void setRequestHeader( String headerName, String headerValue );
function void start();
方法:
plus.downloader.clear( state );// 清除下载任务
plus.downloader.startAll(); // 开始所有的下载任务
具体示例:
<header class="mui-bar mui-bar-nav">
<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
<h1 class="mui-title">下载管理</h1>
</header>
<div class="mui-content mui-content-padded">
<button type="button" id="btnDownload" class="mui-btn mui-btn-blue mui-btn-block">下载</button>
<ul id="downloadlist"></ul>
<img src="" id="downloadImg" alt="" />
</div>
<script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
<script src="js/mui.min.js"></script>
<script type="text/javascript">
mui.plusReady(function(){
var dtask=null;
$("#btnDownload").bind('tap',function(){
// 第一步:创建下载任务
var url = "http://img5.img.9xiu.com/upload/roomimg/2017/11/05/27976195201433p14we39unu_370x280.jpg";
var options = {method:"GET"};
dtask = plus.downloader.createDownload(url,{
filename:"_doc/download/a.jpg"
},function(download,status){
plus.io.resolveLocalFileSystemURL(download.filename,function(entry){
mui.alert('completed');
$("#downloadlist").append("<p>"+download.filename+"</p>");
$("#downloadlist").append("<p>"+entry.fullPath+"</p>");
$("#downloadImg").attr('src',entry.fullPath);
});
});
dtask.start();
});
});
</script>
网络下载功能实现(downloader ) ---- HTML5+的更多相关文章
- java开发在线下载功能,自动打开浏览器下载功能下载网络文件或图片
因为业务的需要,公司产品要求商品详情页面有个下载的功能 找了很多的方法,发现有的需要打开一个新窗口,而且在某些浏览器上不适用,所以继续寻找更好的方法 跟同事沟通后发现他那里有个下载的方法,不过是C#写 ...
- Scrapy框架——介绍、安装、命令行创建,启动、项目目录结构介绍、Spiders文件夹详解(包括去重规则)、Selectors解析页面、Items、pipelines(自定义pipeline)、下载中间件(Downloader Middleware)、爬虫中间件、信号
一 介绍 Scrapy一个开源和协作的框架,其最初是为了页面抓取 (更确切来说, 网络抓取 )所设计的,使用它可以以快速.简单.可扩展的方式从网站中提取所需的数据.但目前Scrapy的用途十分广泛,可 ...
- windows下实现uboot的tftp下载功能
一.原理分析 带有uboot的开发板实际上充当的就是tftp客户端,而PC机扮演的角色就是tftp服务器端,而tftp下载功能实际上就是文件传输.tftp服务器可以建立在虚拟机linux下,也可以建立 ...
- 【转】Android学习系列–App离线下载功能实现
原文:http://www.cnblogs.com/qianxudetianxia/archive/2011/07/20/2108965.html 宜未雨而绸缪,毋临渴而掘井.----朱用纯<治 ...
- android 图片网络下载github开源框架之Universal-Image-Loader
最近在做妙趣剪纸项目,剪纸应用项目链接.发扬传统文化,大家多多关注. 需要自己搭建服务器,我用的是新浪sae,简直秒杀京东云几条街,把图片放在网上下载,但是图片经常下载要遇到很多问题,包括oom等.所 ...
- 网络下载器 Internet Download Manager v6.35.5 绿色便携版
Internet Download Manager,简称 IDM,是国外的一款优秀网络下载工具.目前凭借着下载计算的速度优势在外媒网站中均受好评,现在已被多数国人熟知.Internet Downloa ...
- 06_Linux基础-NGINX和浏览器、网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本
06_Linux基础-NGINX和浏览器.网页的关系-云服务器ssh登陆-安装NGINX-上传网页-压缩命令-xz-gzip-bzip2-zip-tar-配置NGINX服务器支持下载功能-备份脚本 一 ...
- iNeedle日志下载功能问题
问题: iNeedle系统本身包含日志下载功能,主要是将web服务器中的用户访问日志按照一定条件进行筛选并下载,提供管理者分析.但是这次的测试中发现iNeedle日志下载一直会卡住,web界面显示正在 ...
- Safari 下用 "location.href = filePath" 实现下载功能的诡异 bug
Safari 下的一些诡异 bug 我们已经领教一二,比如前文中说的 无痕浏览模式下使用 localStorage 的 API 就会报错.今天我们要讲的是利用 location.href = file ...
随机推荐
- DOM编程 学习笔记(二)
学习内容: 1.document对象 2.event对象 该对象将标记型文档进行封装 该对象的作用,是对可标记型文档进行操作 常见操作,想要实现动态效果,需要对节点操作,那么先获取到这个节点,想获取节 ...
- hadoop学习笔记之-hbase完全分布模式安装-5
http://blog.csdn.net/lichangzai/article/details/8441975 http://blog.csdn.net/jpiverson/article/detai ...
- 公式编辑器编辑倒L符号的方法
数学公式全都是由数字字母和一些符号组成的,一些常用的字母符号我们使用起来也很熟练,但是在数学中也有一些符号是比较少用的,比如倒着的L,这个符号在一些函数中出现过,表示某一类的函数.在word公式编辑器 ...
- 判断字符串String是否为空问题
一.判断一个字符串str不为空的方法有: 1.str == null; 2."".equals(str): 3.str.length <= 0; 4.str.isEmpty( ...
- fatal error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?
解决方法:设置cpp文件的Precompiled Header属性设置为Not Using Precompiled Headers
- c语言常用数据类型转换整理
你要发送原始数据流 还是 格式化输出? 如果是格式化 按原子说的 ,用sprintf / printf; 如果发送原始内存数据流, 可按下面发送, 发送 #define BYTE0(pointer) ...
- 关于 MVVMLight 设计模式系列
MVVM设计模式你可以在WPF.Silverlight.Windows Phone开发中使用,我想至今已经有非常非常多的朋友正在使用MVVM设计模式,尤其是MVVMLight . 本系列文章以WPF举 ...
- C#导出Excel按照指定格式设置单元格属性值
最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...
- mybatis由浅入深day01_5mybatis开发dao的方法(5.1SqlSession使用范围_5.2原始dao开发方法)
5 mybatis开发dao的方法 5.1 SqlSession使用范围 5.1.1 SqlSessionFactoryBuilder 通过SqlSessionFactoryBuilder创建会话工厂 ...
- SQL集合运算:差集、交集、并集
1.差集( except ) select a from t_a except select a from t_b -- 也可写作: select a from t_a where a not in ...