根据数组中的文件路径,循环下载文件,一个文件路径加上不同的后缀名变成多个路径,而不一定每个路径都是有文件的
async downloadimg(){
wx.showLoading({
title: '下载中',
})
var i,j
const fs= wx.getFileSystemManager();
for(i=0;i<this.data.subnum;i++)
{
if(this.data.array[i].fileSrc){
try{
// 创建文件夹
fs.mkdirSync(wx.env.USER_DATA_PATH+'/'+this.data.array[i].name,false)
// 创建网点目录成功
for(j=0;j<9;j++){
// 下载文件夹
console.log('下载记录为',i,'下载第',j);
await wx.cloud.downloadFile({
fileID: this.data.array[i].fileSrc+this.data.imgname[j]
}).then(res => {
// console.log(res.tempFilePath)
// 保存照片
wx.getFileSystemManager().saveFile({
tempFilePath:res.tempFilePath,
filePath:wx.env.USER_DATA_PATH+'/'+this.data.array[i].name+'/'+this.data.imgname[j],
success(res){console.log('保存在',res);},
fail(err){console.log('保存失败',err);}
})
}).catch(()=>{console.log('不存在');})
}
} catch(e) { console.error('创建或下载中出错',e)}
}
}
wx.hideLoading()
wx.showToast({
title: '下载完成',
})
},
catch和fail一开始为了整洁一点没有写,结果一旦找不到照片下载不下来代码就停了。后来才知道是少写了这个的原因。如果想要照片一直下载,找不到当前的照片就继续下载下一个,就需要写完整