微信小程序实现保存图片(唤起用户授权)
2021/11/7 14:10:46
本文主要是介绍微信小程序实现保存图片(唤起用户授权),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.实现效果
2.实现原理
2.1文档地址!!!保存图片,需要用户授权。
wx.saveImageToPhotosAlbum({ success(res) { } })
注意:保存的图片需要是临时文件路径或本地路径(不支持网络路径)
2.2 获取本地路径
wx.getImageInfo({ src: 'images/a.jpg',//==>图片的路径,支持网络路径、本地路径、代码包路径 success (res) { console.log(res.path)//====>图片的本地路径 } })
2.3用户授权(需要 scope.writePhotosAlbum)
2.3.1获取用户授权设置
开发者可以使用 wx.getSetting 获取用户当前的授权状态。
wx.getSetting({ success (res) { console.log(res.authSetting) // res.authSetting = { // "scope.userInfo": true, // "scope.userLocation": true // } } })
2.3.2用户拒绝授权
用户拒绝授权,引导用户打开设置界面进行授权。
用户可以在小程序设置界面(「右上角」 - 「关于」 - 「右上角」 - 「设置」)中控制对该小程序的授权状态。开发者可以调用 wx.openSetting 打开设置界面,引导用户开启授权。
wx.openSetting({ success (res) { console.log(res.authSetting) // res.authSetting = { // "scope.userInfo": true, // "scope.userLocation": true // } } })
2.3.3 提前发起授权请求
开发者可以使用 wx.authorize 在调用需授权 API 之前,提前向用户发起授权请求。
3.实现代码
//相机授权 isAuthorize() { return new Promise((resolve, reject) => { wx.authorize({ scope: 'scope.writePhotosAlbum' }).then(() => { resolve() }).catch(() => { wx.getSetting().then(res => { if (!res.authSetting['scope.writePhotosAlbum']) { wx.showModal({ title: '是否授权保存到相册', content: '请确认授权,否则无法保存到相册', success: res => { if (res.confirm) { wx.openSetting() } } }) } }) }) }) }, // 下载图片 downloadImg() { let { poster } = this.data; // 下载文件不支持网络路径,需要先将网络路径转换为 this.isAuthorize().then(() => { wx.getImageInfo({ src: poster, success: (res) => { let path = res.path; wx.saveImageToPhotosAlbum({ filePath: path, success: (res) => { util.toolsFn.toastMsg('保存成功!') this.setData({ show_poster: true }) }, fail: (res) => { util.toolsFn.toastMsg('保存失败') } }) }, fail(res) { util.toolsFn.toastMsg('保存失败') } }) }) }
4.更多小程序源码,关注苏苏的码云,一起学习,共同进步。
这篇关于微信小程序实现保存图片(唤起用户授权)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-302024年最新版云开发cms开通步骤,开始开发微信小程序前的准备工作,认真看完奥!
- 2024-03-30微信小程序的网络设置,及网络请求:wx.request(OBJECT)
- 2024-01-22基于taro搭建小程序多项目框架
- 2024-01-13小程序开发:在插件市场寻找步骤条组件并二开
- 2024-01-05钉钉小程序生态—企业机器人加互动卡片,改善用户体验的开始!
- 2023-12-29【UniApp】-uni-app-打包成小程序
- 2023-12-26性能翻倍!京东亿级体量小程序优化实践
- 2023-12-25小程序优化:第三方SDK过大解决方案
- 2023-11-26微信小程序文件预览和下载-文件系统
- 2023-11-2652天学习微信小程序计划No.2:注册小程序账号&安装开发者工具