LightSDK.native.downloadFile

功能描述

通过JS下载文件

支持格式
Json

请求参数:

字段 可选 类型及范围 说明
taskId string 下载任务句柄,不传或null返回10001错误,为空,空格,错误入参返回10002错误

请求调用示例

var taskid = taskidlist[index];
LightSDK.native.downloadFile({
taskId: taskid
},
data = >{
console.log(JSON.stringify(data));
});

返回字段示例

//进度回调
{
"info": {
"error_code": "0",
"error_message": "success"
},
"data": {
"taskId":"BD2114453524",
"type":"progress",
"progress": 0,
"totalBytesWritten": 1023,
"totalBytesExpectedToWrite": 2995977
}
}
//任务结果回调
{
"info": {
"error_code": "0",
"error_message": "success"
},
"data": {
"taskId":"BD2114453524"
"type": "finish",
"result": "success",
"tempFilePath":"LightResource://tmp_xxxxxxx.pdf",
"statusCode":200,
"errorCode":0
}
}
//服务器响应头部回调
{
"info": {
"error_code": "0",
"error_message": "success"
},
"data": {
"taskId":"BD2114453524",
"type": "header",
"result": {
"Connection": "Keep-Alive",
"Content-Length": "264",
"Content-Type": "text/html; charset=UTF-8",
"Date": "Mon, 08 Jun 2020 06:40:12 GMT",
"Keep-Alive": "timeout=5, max=100",
"Server": "Apache/2.4.34 (Unix) PHP/7.1.23",
"X-Android-Received-Millis": "1591598416243",
"X-Android-Response-Source": "NETWORK 200",
"X-Android-Selected-Protocol": "http/1.1",
"X-Android-Sent-Millis": "1591598413215",
"X-Powered-By": "PHP/7.1.23"
}
}
}

返回值说明

字段名 字段类型 说明
type string 当前回调类型,header表示服务器响应头消息,progress表示当前下载进度,finish表示该下载任务已结束
progress number 下载进度百分比
totalBytesWritten number 已下载的字节数
totalBytesExpectedToWrite number 文件的总字节数
tempFilePath string 临时文件路径,lightresource://tmp_协议,文件后缀为实际文件类型。没传入 filePath 指定文件存储路径时会返回
result string 下载任务的最后结果,除了success是下载成功的标志,其他均是各种错误信息
statusCode number 请求响应状态码,200表示请求成功,其他都为请求异常
errorCode number 异常错误码


errorCode errorMsg 说明
0 success 成功
1 cancel by user 用户取消
2 network disconnect 网络断开
3 timeout 连接超时
4 unknow error 未知原生失败
7 invalid url url地址异常
10 status error 响应值异常

注意事项

1.需要在config.js文件中配置插件

module.exports = {
plugins:{
"file":{}
}
}

2、若在下载过程中,调用file.downloadAbort接口取消下载任务,则iOS&Android的回调会返回finish状态,iOS:result值为已取消 Android:result值为cancel by user