微信小程序保存图片到相册权限设置

作者:默认S 时间:2024-06-16 19:48:50 

微信小程序保存图片到相册可以分成两种:一种是保存网络图片,一种是保存本地图片

保存网络图片:


var url = '网络图片路径';
wx.downloadFile({
url: url,
 success: function (res) {
 var benUrl = res.tempFilePath;
 //图片保存到本地相册
 wx.saveImageToPhotosAlbum({
  filePath: benUrl,
  //授权成功,保存图片
  success: function (data) {
  wx.showToast({
   title: '保存成功',
   icon: 'success',
   duration: 2000
  })
  },
  //授权失败
  fail: function (err) {
  if (err.errMsg) {//重新授权弹框确认
   wx.showModal({
    title: '提示',
    content: '您好,请先授权,在保存此图片。',
    showCancel: false,
    success(res) {
    if (res.confirm) {//重新授权弹框用户点击了确定
     wx.openSetting({//进入小程序授权设置页面
     success(settingdata) {
      console.log(settingdata)
      if (settingdata.authSetting['scope.writePhotosAlbum']) {//用户打开了保存图片授权开关
      wx.saveImageToPhotosAlbum({
       filePath: benUrl,
       success: function (data) {
       wx.showToast({
        title: '保存成功',
        icon: 'success',
        duration: 2000
       })
       },
      })
      } else {//用户未打开保存图片到相册的授权开关
      wx.showModal({
       title: '温馨提示',
       content: '授权失败,请稍后重新获取',
       showCancel: false,
      })
      }
     }
     })
    }
    }
   })
  }
  }
 })
 }
})

保存本地图片:


wx.chooseImage({
count: 1,// 默认9
 sizeType: ['original', 'compressed'],// 可以指定是原图还是压缩图,默认二者都有
 sourceType: ['album', 'camera'],// 可以指定来源是相册还是相机,默认二者都有
 success: function (res) {
 // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
 console.log("choose image")
 console.log(res)
 var tempFilePath = res.tempFilePaths[0]
 wx.getImageInfo({
  src: tempFilePath,
  success: function (res) {
  console.log("get image info")
  console.log(res)
  wx.saveImageToPhotosAlbum({
   filePath: res.path,
   success(res) {
   console.log("保存图片成功")
   console.log(res)
   wx.showToast({
    title: '保存成功',
    icon: 'success',
    duration: 2000
   })
   },
   fail(err) {
   console.log('失败')
   console.log(err)
if (err.errMsg == "saveImageToPhotosAlbum:fail cancel") {
    wx.openSetting({
    success(settingdata) {
     console.log(settingdata)
     if (settingdata.authSetting["scope.writePhotosAlbum"]) {
     console.log('获取权限成功,给出再次点击图片保存到相册的提示。')
     } else {
     console.log('获取权限失败,给出不给权限就无法正常使用的提示')
     }
    }
    })
   }
   }
  })
  }
 })
 }
})

来源:https://blog.csdn.net/qq_37949737/article/details/93719454

标签:微信小程序,相册
0
投稿

猜你喜欢

  • 正计时JS代码

    2008-05-25 14:53:00
  • 纯数字不重复排列的另类方法

    2009-12-04 18:25:00
  • sql ROW_NUMBER()与OVER()方法案例详解

    2024-01-12 21:34:32
  • 深入理解Pytorch中的torch. matmul()

    2023-06-03 05:29:18
  • 高性能WEB开发 web性能测试工具推荐

    2022-06-09 00:29:59
  • 为什么定位会被float和clear影响!

    2008-11-10 11:06:00
  • python调用kubernetesAPI简单使用方法

    2021-05-09 23:25:21
  • JDBC如何获取数据库连接

    2024-01-23 05:53:50
  • eWebEditor不支持IE8/IE7的解决方法

    2010-02-28 10:27:00
  • SQL Server 2000日志转移实现高可用性

    2009-01-20 15:04:00
  • SQL Server 2019下载与安装教程(自定义安装)

    2024-01-25 07:15:47
  • python实现堆排序的实例讲解

    2023-01-06 20:50:38
  • Window 64位下python3.6.2环境搭建图文教程

    2023-07-26 02:22:45
  • pytorch 如何使用amp进行混合精度训练

    2023-12-25 13:35:02
  • python进行TCP端口扫描的实现

    2021-04-18 12:33:32
  • Python3.6通过自带的urllib通过get或post方法请求url的实例

    2023-01-21 09:32:41
  • 如何从0开始用node写一个自己的命令行程序

    2024-05-03 15:56:26
  • python迭代器的使用方法实例

    2022-03-16 18:00:09
  • Python分析最近大火的网剧《隐秘的角落》

    2023-07-17 07:09:04
  • 在Django框架中编写Contact表单的教程

    2023-04-10 15:08:00
  • asp之家 网络编程 m.aspxhome.com