申请权限
代码如下
wx.downloadFile({
url: image, //仅为示例,并非真实的资源
success(res) {
// 只要服务器有响应数据,就会把响应内容写入文件并进入 success 回调,业务需要自行判断是否下载到了想要的内容
if (res.statusCode === 200) {
console.log(res);
wx.saveImageToPhotosAlbum({
filePath: res.tempFilePath,
success: function(res) {
wx.showToast({
icon: 'none',
title: "保存成功"
})
},
fail: function(err) {
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: modalSuccess => {
wx.openSetting({
success(settingdata) {
if (settingdata
.authSetting[
'scope.writePhotosAlbum'
]) {
console.log(
'获取权限成功,给出再次点击图片保存到相册的提示。'
)
} else {
console.log(
'获取权限失败,给出不给权限就无法正常使用的提示'
)
wx.showToast({
icon: 'none',
title: "暂未授权,保存失败"
})
}
}
})
}
})
} else {
wx.showToast({
icon: 'none',
title: "保存失败"
})
}
}
});
}
}
})
//保存base64图片
/**
* 保存base64的图片
* @param {String} imgData base64编码的数据
*/
function saveBase64Img(imgData) {
let save = wx.getFileSystemManager();
let number = Math.random();
save.writeFile({
filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png',
data: imgData,
encoding: 'base64',
success: (res) => {
wx.saveImageToPhotosAlbum({
filePath: wx.env.USER_DATA_PATH + '/pic' + number + '.png',
success: function (res) {
showNoIconToast("保存成功");
},
fail: function (err) {
showNoIconToast("保存失败");
}
});
},
fail: (err) => {
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: modalSuccess => {
wx.openSetting({
success(settingdata) {
if (settingdata
.authSetting[
'scope.writePhotosAlbum'
]) {
console.log(
'获取权限成功,给出再次点击图片保存到相册的提示。'
)
} else {
console.log(
'获取权限失败,给出不给权限就无法正常使用的提示'
)
wx.showToast({
icon: 'none',
title: "暂未授权,保存失败"
})
}
}
})
}
})else{
wx.showToast({
icon: 'none',
title: "保存失败"
})
}
}
})
}