// 1.先判断手机相册是否授权;2.授权后再保存到相册
toSave() {
uni.showLoading({
title: "正在生成图片",
mask: true,
});
uni.getSetting({
success: (res) => {
if (!res.authSetting["scope.writePhotosAlbum"]) {
uni.authorize({
scope: "scope.writePhotosAlbum",
success: () => { // 授权成功
uni.hideLoading();
this.saveImg();
},
fail: (res) => {
uni.hideLoading();
uni.showToast('无法保存图片,请先授权')
},
});
} else { // 已经授权!
uni.hideLoading();
this.saveImg();
}
},
});
},
saveImg() {
const base64Str = this.imgBase64.slice(22), // 注意这里,截掉 data:image/png;base64,
buffer = uni.base64ToArrayBuffer(base64Str),
filePath = wx.env.USER_DATA_PATH + "/base64src.png"; // base64src.png 为保存的图片名称
uni.getFileSystemManager().writeFile({
filePath, // 先把文件写到临时目录里
// 方式一:
data: buffer,
encoding: "binary",
// 方式二:
// data: this.imgBase64.slice(22),
// encoding: "base64",
success: (res) => {
uni.saveImageToPhotosAlbum({
filePath, // 将临时文件 保存到相册
success: (res) => {
uni.showToast('图片保存成功')
},
fail: (error) => {
uni.showToast('图片保存失败')
},
});
},
fail: (error) => {
uni.showToast('图片保存失败')
}
});
}
小程序 uni-app 保存图片到手机相册
最新推荐文章于 2025-06-24 22:21:48 发布