如果是图集的话先获取图集,然后判断图集是不是空值,如果不是空值就执行for循环,把集合长度+1遍历出url,然后把url执行下载,获取下载权限,保存图片,一个一个保存,整个图集可以保存下来了。
picture(e) {
var dy = this.data.piccs;
if(dy != null){
for (let a = 0; a < dy.length; a++) {
const element = dy[a];
let imgSrc = element; //要保存的图片url
console.log(imgSrc)
wx.showLoading({
title: '保存中...'
})
wx.downloadFile({ //下载文件资源到本地
url: imgSrc,
success: function (res) {
console.log(res);
//图片保存到本地
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function (data) {
wx.hideLoading()
wx.showToast({
title: '保存成功',
icon: 'success',
duration: 2000
})
},
fail: function (err) {
if (err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail:auth denied") {
console.log("当初用户拒绝,再次发起授权")
wx.showModal({
title: '提示',
content: '需要您授权保存相册',
showCancel: false,
success: modalSuccess => {
wx.openSetting({
success(settingdata) {
console.log("settingdata", settingdata)
if (settingdata.authSetting['scope.writePhotosAlbum']) {
wx.showModal({
title: '提示',
content: '获取权限成功,再次点击图片即可保存',
showCancel: false,
})
} else {
wx.showModal({
title: '提示',
content: '获取权限失败,将无法保存到相册哦~',
showCancel: false,
})
}
},
fail(failData) {
console.log("failData", failData)
},
complete(finishData) {
console.log("finishData", finishData)
}
})
}
})
}
},
complete(res) {
console.log(res);
wx.hideLoading()
}
})
}
})
}
this.cccc(); //调用上传到图库方法
}else{
wx.showModal({
title: '提示',
content: '下载失败,请先输入图集',
showCancel: false,
})
}
},