html5plus Downloader模块管理文件下载
downloader
Downloader模块管理文件下载,用于从网络下载各种文件,可支持跨域访问操作。通过plus.downloader获取下载管理对象。
方法:
- createDownload: 新建下载任务
- enumerate: 枚举应用的所有下载任务
- clear: 清除下载任务
- startAll: 开始所有下载任务
对象:
- Download: Download对象用于管理单个下载任务
- DownloadEvent: 下载任务事件类型
- DownloadState: 下载任务状态
- DownloadOption: 下载任务的参数
回调方法:
- DownloadCompletedCallback: 下载任务完成时的回调
- DownloadStateChangedCallback: 下载任务状态变化回调
- DownloadEnumerateCallback: 枚举下载任务回调
权限:
permissions
"Downloader": { "description": "管理下载任务" }
Download
Download对象用于管理单个下载任务
interface Download { readonly attribute DOMString id; readonly attribute DOMString url; readonly attribute Number state; readonly attribute DownloadOption options; readonly attribute DOMString filename; function void start(); function void pause(); function void resume(); function void abort(); function void addEventListener( DOMString event, function Callback listener, Boolean capture ); }
属性:
- id: 下载任务的标识
- url: 下载文件的地址
- state: 任务的状态
- options: 下载任务的参数
- filename: 下载的文件名称
- downloadedSize: 已完成下载文件的大小
- totalSize: 下载任务文件的总大小
方法:
- start: 开始下载任务
- pause: 暂停下载任务
- resume: 继续下载任务
- abort: 取消下载任务
- addEventListener: 添加下载任务事件监听器
DownloadEvent
下载任务事件类型
常量:
-
"statechanged": (DOMString 类型 )下载任务状态变化事件
当下载任务状态发生变化时触发此事件,事件原型参考DownloadStateChangedCallback。
DownloadState
下载任务状态
常量:
-
undefined: (undefined 类型 )未开始状态
在创建之后触发此状态事件,下载任务处于可开始状态,需调用下载任务的start方法。
-
0: (Number 类型 )初始状态
在调用下载任务start之后触发此状态事件,下载任务处于可调度状态。
-
1: (Number 类型 )下载任务开始处理
开始建立网络连接,发送请求到服务器并等待服务器的响应。
-
2: (Number 类型 )下载任务请求已经接收
网络连接已建立,服务器返回响应,准备传输数据内容。
-
3: (Number 类型 )下载任务请求处理中
传输数据中,在传输过程中不断触发此状态事件。
-
4: (Number 类型 )下载任务已完成
下载任务成功或失败都会设置为此状态。
-
5: (Number 类型 )下载任务暂停状态
暂停任务时设置任务的状态,此时可重新开始下载任务。
-
-1: (Number 类型 )非任务状态
不用于表示任务的状态,用于enumerate()和claer()操作所有下载任务。
DownloadOption
下载任务的参数
说明:
在创建下载任务时设置的参数。可添加自定义参数,用于传递额外的数据,自定义参数仅支持字符串类型。
属性:
-
method: (DOMString 类型 )网络请求类型
支持http协议的“GET”、“POST”,默认为“GET”请求。
-
filename: (DOMString 类型 )下载文件保存的路径
以文件后缀名结尾(如"_doc/download/a.doc")表明指定保存文件目录及名称,否则认为指定保存文件的目录,若没有指定文件名称则由程序自动生成文件名称。
-
priority: (Number 类型 )下载任务的优先级
数值类型,数值越大优先级越高,默认优先级值为0。
-
timeout: (Number 类型 )下载任务超时时间
数值类型,单位为s,默认值为120s。
-
retry: (Number 类型 )下载任务重试次数
数值类型,默认为重试3次。
DownloadCompletedCallback
下载任务完成时的回调
vaoid onCompleted( Download download, Number status ) { // Download file complete code }
说明:
下载任务完成时的回调函数,在下载任务完成时调用。 下载任务失败也将触发此回调。
参数:
-
download : ( Download ) 必选 下载任务对象
-
status: ( Number ) 必选 Http传输协议状态码,如果未获取传输状态则其值则为0,如下载成功其值通常为200
返回值:
void : 无DownloadStateChangedCallback
下载任务状态变化回调
void onStateChanged( Download download, status ) { // Download state changed code. }
参数:
-
download : ( Download ) 必选 下载任务对象
-
status: ( Number ) 必选 Http传输协议状态码,如果未获取传输状态则其值则为0,如下载成功其值通常为200
返回值:
void : 无DownloadEnumerateCallback
枚举下载任务回调
void onEnumerated( Download[] downloads ) { // Enumerate success code }
参数:
-
downloads : ( Download ) 必选 枚举到的下载任务对象数组
返回值:
void : 无相关文章
最新发布
阅读排行
热门文章
猜你喜欢