保存图片到相册
实现逻辑:
首先查看用户申请过的权限中是否有”保存图片到相册“,如果没有这个权限,则需要先申请权限(弹窗授权),如果用户同意授权则保存图片,如果用户不同意,则跳转到设置页,重新授权,然后再保存图片。
查看用户申请的全县有哪些 通过微信的API
wx.getSetting(Object object)
获取用户的当前设置。返回值中只会出现小程序已经向用户请求过的权限,如果接口调用回调函数返回成功,可以查看返回值中是否有 ”scope.writePhotosAlbum“ ,如果有,说明申请过了 可以直接保存。如果没有则申请权限,则申请授权
wx.authorize(Object object)
提前向用户发起授权请求。调用后会立刻弹窗询问用户是否同意授权小程序使用某项功能或获取用户的某些数据,但不会实际调用对应接口。如果用户之前已经同意授权,则不会出现弹窗,直接返回成功。
申请权限之后,就保存图片,先下载 图片资源到本地
wx.downloadFile({
url: 'https://example.com/audio/123', //仅为示例,并非真实的资源
success (res) {
// 成功过之后保存图片
}
})
返回值成功之后保存图片
wx.saveImageToPhotosAlbum(Object object)
保存图片到系统相册。
完整代码如下所示文章来源:https://www.toymoban.com/news/detail-561205.html
**
* 保存
*/
const save=()=>{
Taro.showToast({
title:'正在保存图片',
icon:'loading'
})
// 判断用户是否授权"保存到相册"
wx.getSetting({
success:(res)=>{
// 没有授权 发起授权
if(!res.authSetting['scope.writePhotosAlbum']){
wx.authorize({
scope:'scope.writePhotosAlbum',
success:()=>{
// 保存图片
savePhoto()
},
fail:()=>{
//用户点击拒绝授权,跳转到设置页,引导用户授权
wx.openSetting({
success:()=>{
wx.authorize({
scope:'scope.writePhotosAlbum',
success:()=>{
// 保存图片
savePhoto()
}
})
}
})
}
})
}else{
//如果用户已授权,直接保存到相册
savePhoto()
}
}
})
}
//保存图片到相册,提示保存成功
const savePhoto=()=>{
wx.downloadFile({
url,
success:(res)=>{
wx.saveImageToPhotosAlbum({
filePath:res.tempFilePath,
success:(res)=>{
Taro.showToast({
title:'保存成功',
icon:'success'
})
}
})
}
})
}
参考:
1.微信小程序实现保存图片到相册功能文章来源地址https://www.toymoban.com/news/detail-561205.html
到了这里,关于[小程序实现保存图片到相册]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!