- 当前 Bug 的表现(可附上截图)
wx.getSetting({ success:(res)=>{ if (!res.authSetting[ 'scope.writePhotosAlbum' ]){ console.log( '没有获取授权' ); wx.authorize({ scope: 'scope.writePhotosAlbum' , success:(res)=>{ console.log( '获取授权' ) console.log( 'path = ' + _that.data.tempFilePath) wx.saveImageToPhotosAlbum({ filePath: _that.data.tempFilePath, success: (res) => { console.log( '保存到相册' ); console.log(res) }, fail:(res)=>{ console.log( '保存失败' ); console.log(res) }, complete:(res)=>{ console.log( '调用完成' ) } }) } }) |
不知道为什么就没有保存成功
苹果系统将微信的照片访问权限关掉后也报这个错误
这是缺少token,你请求的图片需要有token
老哥,什么token啊,我这个是先用wx.canvasToTempFilePath把canvas保存图片返回一个临时文件路径,调用wx.saveImageToPhotosAlbum去保存这个图片,文档上也没说什么token呀
canvasToTempFilePath 需要在draw方法里调用才能拿到图片,确认一下在哪调的
/**
*
* 生成图片
*
*/
saveImg(){
const _that =
this
;
console.log(
'save'
);
wx.getImageInfo({
src:
"../../image/five_1.png"
,
success:(res)=>{
console.log(
'获取成功'
);
console.log(res);
//操作canvas
const ctx = wx.createCanvasContext(
'shareCanvas'
);
ctx.drawImage(
'../../'
+res.path,0,0);
ctx.draw(
true
,()=>{
//将canvas保存为图片
wx.canvasToTempFilePath({
canvasId:
'shareCanvas'
,
success: res => {
console.log(
'保存canvas为图片'
);
console.log(res);
_that.setData({
tempFilePath: res.tempFilePath
})
}
})
});
}
})
},
//保存到相册
save(){
const _that =
this
;
//这里可以打印出返回的临时文件路径
console.log(
this
.data);
wx.getSetting({
success:(res)=>{
if
(!res.authSetting[
'scope.writePhotosAlbum'
]){
console.log(
'没有获取授权'
);
wx.authorize({
scope:
'scope.writePhotosAlbum'
,
success:(res)=>{
console.log(
'获取授权'
)
console.log(
'path = '
+ _that.data.tempFilePath)
wx.saveImageToPhotosAlbum({
filePath: _that.data.tempFilePath,
success: (res) => {
console.log(
'保存到相册'
);
console.log(res)
},
fail:(res)=>{
console.log(
'保存失败'
);
console.log(res)
},
complete:(res)=>{
console.log(
'调用完成'
)
}
})
}
})
}
}
})
},
你好,麻烦提供相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html),方便定位问题
wechatide://minicode/dzTIroma7orm
你好,目前问题不复现,另外你的代码逻辑并没有处理用户已经授权的情况,请仔细检查代码
不知道为什么代码片段里面wx.getSetting方法就调用不了,用户没有授权,获取授权之后也没能保存成功呐,我这是调用的方法有问题还是缺少什么参数呢?官方有没有什么案例可以给借鉴一下呢?
console.log(
'获取授权'
)
console.log(
'path = '
+ _that.data.tempFilePath)
wx.saveImageToPhotosAlbum({
filePath: _that.data.tempFilePath,
success: (res) => {
console.log(
'保存到相册'
);
console.log(res)
},
fail:(res)=>{
console.log(
'保存失败'
);
console.log(res)
},
complete:(res)=>{
console.log(
'调用完成'
)
}
})
我这边真机和开发工具测试都是没有问题的喔,建议升级开发者工具到最新版本(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
你好,请问你的这个问题解决了吗?我这边也遇到相同的问题,getSetting显示已获取权限,图片也成功下载到临时路径,但是就是保存到相册时提示saveImageToPhotosAlbum:fail no permission