开发过程中需要保存到相册,可以使用这个方法,要注意的是需要配置downloadFile合法域名
// 保存到相册
savePoster() {
let that = this
wx.getSetting({
success(res) {
if (res.authSetting['scope.writePhotosAlbum']) {
that.saveImg();
} else if (res.authSetting['scope.writePhotosAlbum'] === undefined) {
wx.authorize({
scope: 'scope.writePhotosAlbum',
success() {
that.saveImg();
},
fail() {
that.authConfirm()
}
})
} else {
that.authConfirm()
}
}
})
},
// 授权拒绝后,再次授权提示弹窗
authConfirm() {
let that = this
wx.showModal({
content: '检测到您没打开保存图片权限,是否去设置打开?',
confirmText: "确认",
cancelText: "取消",
success: function (res) {
if (res.confirm) {
wx.openSetting({
success(res) {
if (res.authSetting['scope.writePhotosAlbum']) {
that.saveImg();
} else {
wx.showToast({
title: '您没有授权,无法保存到相册',
icon: 'none'
})
}
}
})
} else {
wx.showToast({
title: '您没有授权,无法保存到相册',
icon: 'none'
})
}
}
});
},
//保存图片
saveImg: function () {
var that = this;
var imgUrl = that.data.imgurl; //需要保存的图片地址
console.log(imgUrl)
wx.downloadFile({
url: imgUrl,
success(res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
console.log('downloadFileres', res);
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success(res) {
console.log("保存图片:success");
wx.showToast({
title: '保存成功',
});
},
fail: res => {
console.log(res);
wx.showToast({
title: '保存失败',
});
}
})
}
})
},点击 "运行实例" 按钮查看在线实例
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号