智能客服
你问我答,随时在线为你解决问题
在manifest.json文件的 features属性中增加如下配置。
{"name": "system.downloadtask"} 在调用接口页面的<script>部分增加如下配置。
import downloadtask from '@system.downloadtask'
或
var downloadtask = require("@system.downloadtask") | 限制条件 | 说明 |
|---|---|
| 适用终端 | 手机、平板 |
| 适用区域 | 全球 |
| 接口 | 描述 |
|---|---|
| 创建一个下载请求,每次调用成功将返回一个新的DownloadTask对象。 | |
| 监听下载进度变化事件。 | |
| 取消监听下载进度变化事件。 | |
| 监听 HTTP Response Header 事件。 | |
| 取消监听 HTTP Response Header 事件。 | |
| 中断下载任务。 |
描述
创建一个download请求,每次调用成功将返回一个新的DownloadTask对象。
参数
| 参数 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| url | string | 是 | 资源url。 |
| header | object | 否 | 请求的header,会将其所有属性设置到请求的header部分。useragent设置无效。 |
| filename | string | 否 | 下载文件名,默认从网络请求或url中获取。填写格式:文件名 或者 文件名.文件格式
|
| timeout | number | 否 | 超时时间,指连接超时时间,非读写超时时间。单位ms,默认值为10000。 |
| success | function | 否 | 成功的回调函数。 |
| fail | function | 否 | 失败的回调函数。 |
| complete | function | 否 | 结束的回调函数(调用成功、失败都会执行)。 |
success返回值
| 参数 | 类型 | 说明 |
|---|---|---|
| statusCode | number | 服务器状态code。 |
| filePath | string | 用户文件路径(本地路径)。 |
| header | object | 服务器response的所有header。 |
fail返回值
| 参数 | 类型 | 说明 |
|---|---|---|
| msg | object | 携带错误信息,错误信息获取方式为msg.errMsg。 |
| code | number | 返回的错误码 |
示例代码
this.download_task = downloadtask.downloadFile({
url: 'https://downloadtext.com',/*非真实地址*/
success(res) {
console.log("Download success. resp = " + JSON.stringify(res))
},
fail(res) {
console.log("Download fail. resp = " + JSON.stringify(res))
}
}) 描述
监听下载进度变化事件。
参数
下载进度变化事件的回调函数。
callback返回参数
Object类型。
| 属性 | 类型 | 说明 |
|---|---|---|
| progress | number | 下载进度百分比。 |
| totalBytesWritten | number | 已经下载的数据长度,单位 Bytes。 |
| totalBytesExpectedToWrite | number | 预期需要下载的数据总长度,单位 Bytes。 |
示例代码
this.download_task.onProgressUpdate(res => {
console.log("Download onProgressUpdate = " + JSON.stringify(res))
}) 描述
取消监听下载进度变化事件。
参数
下载进度变化事件的回调函数。
示例代码
this.download_task.offProgressUpdate()
描述
监听 HTTP Response Header 事件。在文件下载成功回调之前触发。
参数
function callback HTTP Response Header 事件的回调函数
callback返回参数
Object类型。
| 属性 | 类型 | 说明 |
|---|---|---|
| header | object | 开发者服务器返回的 HTTP Response Header。 |
示例代码
this.download_task.onHeadersReceived(res => {
console.log("Download onHeaderReceived = " + JSON.stringify(res))
}) 描述
取消监听 HTTP Response Header 事件。
参数
HTTP Response Header 事件的回调函数。
示例代码
this.download_task.offHeadersReceived()
描述
中断下载任务。
示例代码
this.download_task.abort()
对于HTTPS请求,对证书要求如下:
从安全性考虑,建议也支持TLS1.3。1200及以上版本在配置加密套件时排除不安全算法:TEA/DES/DESX/DES40/RC2/RC4/RIPEMD/NULL/SHA0/MD2/MD4/MD5/ANON/TLS_EMPTY_RENEGOTIATION_INFO_SCSV;1200以下版本在配置加密套件时排除不安全算法:TEA/DES/DESX/DES40/RC2/RC4/RIPEMD/eNULL/aNULL/NULL/SHA0/MD2/MD4/MD5/ANON/TLS_EMPTY_RENEGOTIATION_INFO_SCSV。部分CA可能不被操作系统信任,请开发者在选择证书时注意操作系统的相关通告。