export type MaterialCodeType = { imgUrl: string }[];
/**
* @description 下载文件至本地
* @param filesUrl 文件地址url
*/
const downloadFiles = (filesUrl: MaterialCodeType, count: number ) => {
const downloadTask = wx.downloadFile({
url: filesUrl[count].imgUrl,
success: res => {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: data => {
setDownloadCount(count + 1);
}
});
}
},
fail: res => {
// 自定义根据需求定义
console.log(res, '失败');
}
});
// 监听下载进度 将异步下载处理成同步
downloadTask.onProgressUpdate(res => {
if (res.progress === 100 && count < filesUrl.length - 1) {
downloadFiles(filesUrl, count + 1);
}
});
};
// 调用
downloadFiles(filesList, 0);
参考微信小程序开发api:developers.weixin.qq.com/miniprogram…