微信小程序> 微信小程序保存图片到相册功能实现

微信小程序保存图片到相册功能实现

浏览量:597 时间: 来源:A_front

项目中有个保存二维码到相册的功能,所以涉及到用户是否授权相册权限的问题。废话不多说,直接上干货…

功能逻辑:

先检查用户请求过的权限中是否允许"保存到相册"权限,如果没有请求过这个权限,应该向用户发起授权请求(弹窗授权),如果请求过这个权限并且授权了,那就保存图片,显示保存成功;如果请求过且拒绝授权,就跳到设置页,让用户重新授权。

上代码:

// wxml文件<view bindtap='save'>保存图片到相册</view>
// js文件//点击保存图片  save () {    let that = this    //若二维码未加载完毕,加个动画提高用户体验    wx.showToast({      icon: 'loading',      title: '正在保存图片',      duration: 1000    })    //判断用户是否授权"保存到相册"    wx.getSetting({      success (res) {        //没有权限,发起授权        if (!res.authSetting['scope.writePhotosAlbum']) {          wx.authorize({            scope: 'scope.writePhotosAlbum',            success () {//用户允许授权,保存图片到相册              that.savePhoto();            },            fail () {//用户点击拒绝授权,跳转到设置页,引导用户授权              wx.openSetting({                success () {                  wx.authorize({                    scope: 'scope.writePhotosAlbum',                    success() {                      that.savePhoto();                    }                  })                }              })            }          })        } else {//用户已授权,保存到相册          that.savePhoto()        }      }    })  },//下载图片地址并保存到相册,提示保存成功  savePhoto() {    let that = this    wx.downloadFile({      url: that.data.imgUrl,      success: function (res) {        wx.saveImageToPhotosAlbum({          filePath: res.tempFilePath,          success(res) {            wx.showToast({              title: '保存成功',              icon: "success",              duration: 1000            })          }        })      }    })  }
  • 注:如果你不点击"保存到相册"的时候去看设置页,是没有"保存到相册"的开关的,只有点过了保存到相册,请求过这个弹窗授权后,设置页才会有"保存到相册"的开关

兄弟姐妹们,如果有帮助,别忘了给个好评哟

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎