功能描述
通过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