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


Posted in Javascript onApril 09, 2020

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

保存网络图片:

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('获取权限失败,给出不给权限就无法正常使用的提示')
      }
     }
     })
    }
    }
   })
   }
  })
  }
})

为大家推荐现在关注度比较高的微信小程序教程一篇:《微信小程序开发教程》小编为大家精心整理的,希望喜欢。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
统一接口:为FireFox添加IE的方法和属性的js代码
Mar 25 Javascript
JavaScript创建类/对象的几种方式概述及实例
May 06 Javascript
JavaScript操作DOM元素的childNodes和children区别
Apr 01 Javascript
JS+CSS相对定位实现的下拉菜单
Oct 06 Javascript
JavaScript中Textarea滚动条不能拖动的解决方法
Dec 15 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
jQuery编写设置和获取颜色的插件
Jan 09 Javascript
详解如何在vue-cli中使用vuex
Aug 07 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
Sep 04 Javascript
javascript的惯性运动实现代码实例
Sep 07 Javascript
基于layui的下拉列表的数据回显方法
Sep 24 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
Apr 10 Javascript
微信小程序仿通讯录功能
Apr 09 #Javascript
vue cli4下环境变量和模式示例详解
Apr 09 #Javascript
微信小程序实现组件顶端固定或底端固定效果(不随滚动而滚动)
Apr 09 #Javascript
微信小程序吸底区域适配iPhoneX的实现
Apr 09 #Javascript
加速vue组件渲染之性能优化
Apr 09 #Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
Apr 09 #Javascript
javascript设计模式 ? 工厂模式原理与应用实例分析
Apr 09 #Javascript
You might like
php中的数组操作函数整理
2008/08/18 PHP
基于xcache的配置与使用详解
2013/06/18 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
基于ThinkPHP5框架使用QueryList爬取并存入mysql数据库操作示例
2019/05/25 PHP
php实现获取近几日、月时间示例
2019/07/06 PHP
使用laravel和ajax实现整个页面无刷新的操作方法
2019/10/03 PHP
js 事件小结 表格区别
2007/08/13 Javascript
Eval and new funciton not the same thing
2012/12/27 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
js document.write()使用介绍
2014/02/21 Javascript
学习javascript面向对象 理解javascript对象
2016/01/04 Javascript
前端框架Vue.js构建大型应用浅析
2016/09/12 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
2017/03/09 Javascript
JS控件bootstrap suggest plugin使用方法详解
2017/03/25 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
浅谈Vue数据绑定的原理
2018/01/08 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
基于p5.js 2D图像接口的扩展(交互实现)
2020/11/30 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
Python中内置的日志模块logging用法详解
2016/07/12 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python 查看文件的编码格式方法
2017/12/21 Python
python如何生成网页验证码
2018/07/28 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
python try 异常处理(史上最全)
2019/03/07 Python
python实现文件助手中查看微信撤回消息
2019/04/29 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
python模拟实现斗地主发牌
2020/01/07 Python
mysql_pconnect()和mysql_connect()有什么区别
2012/05/25 面试题
成人教育自我鉴定
2013/11/01 职场文书
人事专员的岗位职责
2014/03/01 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
南京大屠杀观后感
2015/06/02 职场文书
七年级作文之秋游
2019/10/21 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python