uni 单选回显数据_vue+uniapp实现多任务并发下载文件 | 断点续下, 任务列表, 多任务并发限制...

本文介绍了uniapp中使用zhimi-downloadManager插件进行多任务并发下载的实现,包括监听任务进度、创建任务、刷新任务列表及各种操作方法,支持断点续传和任务管理。
摘要由CSDN通过智能技术生成

一、插件简介

zhimi-downloadManager(智密 - 多任务下载管理插件)是一个支持多任务多并发下载,支持多/单任务管理,并且实时反馈任务下载进度的uniapp原生插件。

平台支持:Android、IOS

二、效果预览

在App端测试效果如下:

066c15bd54776c1ee298fd8875dc2804.png

9f1703362785f359389473b40ae72a96.png

ffd4a4f3071debd407a0e210e9ecf732.png

体验DEMO(安卓浏览器扫码下载)

69b97d2b4dcef358dc67e015484a2f8a.png

三、开始使用

(1): 引入插件

首先创建工程,添加完原生插件之后,需要引入插件

var downloadManager = uni.requireNativePlugin(‘zhimi-downloadManager‘)

具体的API在插件市场的API文档中可以查阅,有定制需求或bug提交的也可以自行联系客服微信(zhimitec)

(2): 监听任务

创建任务之前,我们需要全局监听任务进度变化回调

downloadManager.onDownloadChangCallback(downloadTask =>{//下载地址: downloadTask.url

//文件大小: downloadTask.expectedSize

//已下大小: downloadTask.receivedSize

//下载速度: downloadTask.speed

//下载状态: downloadTask.state 0默认 1等待 2下载中 3暂停 4下载完成 5下载错误

//保存路径: downloadTask.filePath

//文件名: downloadTask.filename

console.log(downloadTask.url + ‘ has been change‘)

})

(3): 创建任务

对于 zhimi-downloadManager 来说,下载任务仅仅需要1个下载路径,如果你需要自定义文件名,传入fileName即可。

假设我们需要下载QQ的安装包:https://dldir1.qq.com/qqfile/QQforMac/QQ_6.7.0.dmg,只需要这样的一段代码即可

//这里的fileName可传可不传

downloadManager.downloadData({ url: ‘https://dldir1.qq.com/qqfile/QQforMac/QQ_6.7.0.dmg‘, fileName: ‘macqq.dmg‘ })

仅仅一个方法,zhimi-downloadManager就会自动记录任务列表,开始下载任务,并且通过上面监听的回调返回任务下载进度

(4): 刷新任务列表

下载的功能实现了,这时候我们还需要回显给用户当前任务列表,在zhimi-downloadManager中,这一切变得非常简单,只需要调用以下代码即可直接返回任务列表(包括下载状态、进度等)

downloadManager.allDownloadsCallback(({ urls }) =>{

urls=[{

receivedSize//进度

expectedSize //大小

speed //速度

targetURL //地址

state //下载状态 0默认 1等待 2下载中 3暂停 4下载完成 5下载错误

url //下载地址

filePath //保存地址

filename //文件名

}]

})

ffd4a4f3071debd407a0e210e9ecf732.png

(5): 更多方法

对于所有任务的操作以及单个任务的操作,zhimi-downloadManager都提供对应的api,在此仅做列举,具体使用方法参考插件市场内api文档说明https://ext.dcloud.net.cn/plugin?id=2877,有定制需求或bug提交的也可以自行联系客服微信(zhimitec)。

downloadManager.setDownloadingMaxNum //设置任务并发数

downloadManager.startAllDownloads //开始所有任务

downloadManager.cancelAllDownloads //暂停所有任务

downloadManager.removeAllData //删除所有任务

downloadManager.downloadData //创建新的下载任务

downloadManager.downloadData //开始单个任务

downloadManager.cancelData //暂停单个任务

downloadManager.removeData //暂停单个任务

原文:https://www.cnblogs.com/zhimitec/p/14030231.html

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值