下载文件

使用说明

客户端 Android iOS
支持说明 支持 支持
import { MDownloader } from "@yl/super-jssdk";

MDownloader.downloadFile(optional)

参数说明

参数 类型 必填 作用
optional Object 必填参数

optional

参数 类型 必填 作用
fileInfos Array 文件URL地址以及保存路径列表。格式[{"url":"http://www.baidu.com/a.jpg","path":"/a/b/c.jpg"}]path必须是绝对路径,支持file://前缀
start(result) function 文件列表下载开始回调用,result为json对象,格式:{"queueId":"下载队列id号"}
progress(fileInfo,done,total) function 文件下载完成进度回调,每下载完一个调用,如果下载的是单个文件,则整个文件下载完成后回调一次。done:完成的个数,total:总个数,其中fileInfo为JSON对象,如{"url":"http://www.baidu.com/a.jpg","path":"/a/b/c.jpg", "$sdk_download_status": true}
singleFileProgress(fileInfo,done,total) function 下载单个文件时的进度回调,若下载的是多个文件不会触发此回调函数。done:下载的大小,total:总数,其中fileInfo为JSON对象,如{"url":"http://www.baidu.com/a.jpg","path":"/a/b/c.jpg", "$sdk_download_status": true}
options Object 插件选填参数

fileInfos

参数 类型 必填 作用
url string 下载的文件路径
path string 文件存储路径(绝对路径)

options

参数 类型 必填 作用
mode int 默认值为0;mode=0,某个文件下载失败,继续下载剩余的;mode=1,某个文件下载失败,不继续下载剩余的
httpMethod int 设置http请求方式,1:GET 2:POST 默认GET
httpHeaderFields json http请求头设置
httpBodyFields json http实体设置

返回说明

参数 类型 作用
resolve(fileInfos) Function 文件列表下载完成回调,fileInfos 结构如下
reject(err) Function 下载某个文件失败回调,err为详细错误信息,是一个json对象,包含 fileInfo 信息:载失败文件信息 例如:{"errCode":-1,"errMsg":"出错啦", fileInfo: {url: 'http://www.test.com'}}

fileInfos

[
  {
    url:"http://oss-cn-shenzhen.aliyuncs.com/yunshequ/app-center/modules/ncov.png",
    path: "file:///storage/emulated/0/Android/data/com.mysoft.smartengineertest/images/workbench-configs/cjap-icon/ncov.png",
    $sdk_download_status: true, // 单个文件下载的状态,true表示下载成功,false表示下载失败
    error: 'xxx' // 单个文件下载失败的错误原因,只有在文件下载失败的时候才有该属性
  }
]

注意事项

1、本地已存在,则不触发下载 2、文件的path是绝对地址,最好带文件扩展名

代码示例

const fileInfos = [
  {
    url:"http://oss-cn-shenzhen.aliyuncs.com/yunshequ/app-center/modules/ncov.png",
    path: "file:///storage/emulated/0/Android/data/com.mysoft.smartengineertest/images/workbench-configs/cjap-icon/ncov.png"
  }
];
MDownloader.downloadFile({fileInfos})
  .then((res) => {
    console.log("success", res);
  })
  .catch((err) => {
    console.log("fail", err);
  });

results matching ""

    No results matching ""