配置微信小程序 downloadFile合法域名 https格式;
否则在微信开发者工具 及 真机调试中可以成功保存图片,但是在手机上测试会保存失败;预览及真机调试,都可以正常下载图片,发布体验版就会报错
发布体验版时关闭 详情 -> 本地设置 -> 不校验合法域名、webview(业务域名)、TSL版本及HTTPS证书
downLoadImg() {
if(!this.data.imgUrl){
console.log('图片获取失败,请稍后再试')
return;
}
wx.showLoading({
title: '加载中...',
})
//图片保存到本地
wx.downloadFile({
url: this.data.imgUrl,//图片地址
success (downres) {
// 保存图片到相册
wx.saveImageToPhotosAlbum({
filePath: downres.tempFilePath,
success(res) {
wx.hideLoading()
console.log('保存成功')
},
fail(err){
wx.hideLoading()
if (err.errMsg === "saveImageToPhotosAlbum:fail:auth denied" || err.errMsg === "saveImageToPhotosAlbum:fail auth deny" || err.errMsg === "saveImageToPhotosAlbum:fail authorize no response") {
// 这边微信做过调整,必须要在按钮中触发,因此需要在弹框回调中进行调用
wx.showModal({
title: '提示',
content: '请授权保存到相册',
showCancel: false,
success() {
wx.openSetting({
success(openres) {
console.log("openres", openres)
if (openres.authSetting['scope.writePhotosAlbum']) {
console.log('获取权限成功,再次点击图片即可保存')
} else {
console.log('获取权限失败,无法保存到相册哦~')
}
},
fail(failerr) {
console.log("failerr", failerr)
}
})
}
})
}
}
})
},
fail() {
wx.hideLoading()
console.log('下载失败,请稍后再试')
}
})
}