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.更多小程序源码,关注苏苏的码云,一起学习,共同进步。

微信小程序实现保存图片(唤起用户授权)相关推荐

  1. 微信小程序简单实现获取用户授权、用户头像并保存到本地

    文章目录 一.获取用户授权 二.获取用户头像并保存 三.实现效果 一.获取用户授权 以index单页面示例, 1.在index.js中的Page-data注册canIUse,用于调用微信开放接口申请用 ...

  2. 微信小程序开发工具取消用户授权

    仅给和我一样粗心的人提示一下,大神不要见怪. 之前没仔细研究小程序开发工具,对界面不熟悉.开发中对小程序做了个授权,然后想取消程序的授权,在手机上可以直接操作,但是在开发工具上不行. 其实,直接把缓存 ...

  3. 微信小程序,保存图片到相册授权被拒绝后重新拉取授权wx.opensetting的使用方法

    当第一次的时候使用wx.getSetting的时候会发现没有scope.writePhotosAlbum这个对象,所以并不知道是否授权 在这里插入图片描述 <view class="u ...

  4. 微信小程序中如何获取用户手机号授权登录

    随着微信小程序的普及,许多应用程序需要用户登录才能提供更好的服务.而获取用户手机号码是验证用户身份和确保账户安全的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中实现手机号授权登录. 步骤一 ...

  5. 微信小程序涉嫌通过中断用户体验、限制用户操作的方式,收集与服务无关的用户个人信息,包括但不限于,手机号、

    微信小程序涉嫌通过中断用户体验.限制用户操作的方式,收集与服务无关的用户个人信息,包括但不限于,手机号.身份证号.生日.住址等,违反<微信小程序平台运营规则>及相关规则,建议尽快整改.具体 ...

  6. php网页抓取浏览者手机号码_微信小程序开发之获取用户手机号码(php接口解密)...

    后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如 ...

  7. 微信小程序前端解密获取用户信息

    在微信小程序中,通过用户手动可以获取到用户昵称,头像等基本信息,稍微敏感的信息无法获取到,需要通过后端解密才能获取到. 例如获取用户手机: 在网上找到cryptojs包,下载下来复制到utils文件夹 ...

  8. 微信小程序之wx.getLocation再次授权问题解决

    微信小程序之wx.getLocation再次授权问题解决 首先,在page外定义一个公共函数用于发送获取位置的请求 var getLocation = function (that) {wx.getL ...

  9. 微信小程序python解析获取用户手机号_微信小程序获取用户手机号详解

    最近在做一款微信小程序,需要获取用户手机号,具体步骤如下: 流程图: 1.首先,客户端调用wx.login,回调数据了包含jscode,用于获取openid(用户唯一标识)和sessionkey(会话 ...

  10. 微信小程序更新版本,提醒用户重新进入程序

    微信小程序更新版本,提醒用户重新进入程序 uni-app写在App.vue onLaunch: function () {console.log("App Launch");// ...

最新文章

  1. 我把帮带份饭的信息错发给导师后.......
  2. 标注工具_语料标注工具(2)
  3. JavaScript面向对象编程笔记
  4. eclipse批量修改package、import中的包名
  5. malloc申请得到的内存后,再free释放它的时候,操作系统会立即收回那块内存吗?
  6. 赞!苏州大学95后硕士一作发《Nature》!
  7. 互联网、电商及游戏行业实时BI分析方案
  8. 蜘蛛搜索引擎_「SEO工具」如何利用爱站工具去分析各搜索引擎蜘蛛情况?
  9. 控制沟通-监控过程组
  10. HustOJ 基础搭建教程
  11. windows xp 64 位
  12. 【bzoj3065】: 带插入区间K小值 详解——替罪羊套函数式线段树
  13. “马”道微信:全面拆解微信营销模式
  14. switch c语言求奖金,超级新手,用switch写了个计算器程序,求指导
  15. ubuntu14.04+caffe2
  16. ICCV 2021 | 美团“LargeFineFoodAI“研讨会开幕在即,互动有奖
  17. 酒店无线wifi覆盖方案
  18. spring源码分析04-spring循环依赖底层源码解析
  19. sql查询今天,近七天,近一个月,近一年的数量统计
  20. TypeScript 类的使用、泛型与其他补充类型

热门文章

  1. 海外游戏广告投放操作技巧
  2. 奔骝定位摄影作品之LAS100
  3. 江城武汉,一座离开后会怀念的城市
  4. 《商标与商号法律制度冲突问题研究报告》发布
  5. 2021-01-04
  6. SwiftUI基础之Text格式化显示小数specifier
  7. 在python程序中,#后面的语句是表示啥意思
  8. R语言作图——violin plot(小提琴图)
  9. 工业平板电脑选择需要注意的地方
  10. 山寨起源——河神的全斧头