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


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 相关文章推荐
Javascript 同时提交多个Web表单的方法
Feb 19 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
ExtJS的拖拽效果示例
Dec 09 Javascript
简单方法判断JavaScript对象为null或者属性为空
Sep 26 Javascript
jQuery插件zoom实现图片全屏放大弹出层特效
Apr 15 Javascript
js库Modernizr的介绍和使用
May 07 Javascript
简述AngularJS相关的一些编程思想
Jun 23 Javascript
jQuery中借助deferred来请求及判断AJAX加载的实例讲解
May 24 Javascript
Node.js的Web模板引擎ejs的入门使用教程
Jun 06 Javascript
jQuery图片拖动组件Dropzone用法示例
Jan 17 Javascript
原生JS检测CSS3动画是否结束的方法详解
Jan 27 Javascript
vue+swiper实现左右滑动的测试题功能
Oct 30 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
安装APACHE
2007/01/15 PHP
PHP 数组排序方法总结 推荐收藏
2010/06/30 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP生成Gif图片验证码
2013/10/27 PHP
PHP统计目录大小的自定义函数分享
2014/11/18 PHP
PHP队列场景以及实现代码实例详解
2021/02/26 PHP
Extjs 4.x 得到form CheckBox 复选框的值
2014/05/04 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
Javascript实现快速排序(Quicksort)的算法详解
2015/09/06 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
jQuey将序列化对象在前台显示地实现代码(方法总结)
2016/12/13 Javascript
JS中with的替代方法与String中的正则方法详解
2016/12/23 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
Vue最新防抖方案(必看篇)
2019/10/30 Javascript
JS删除数组指定值常用方法详解
2020/06/04 Javascript
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
DJANGO-ALLAUTH社交用户系统的安装配置
2014/11/18 Python
举例讲解Python中的算数运算符的用法
2015/05/13 Python
Python打印“菱形”星号代码方法
2018/02/05 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
2018/05/30 Python
python代码过长的换行方法
2018/07/19 Python
Django中自定义模型管理器(Manager)及方法
2019/09/23 Python
pandas和spark dataframe互相转换实例详解
2020/02/18 Python
Python如何存储数据到json文件
2020/03/09 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
python中编写函数并调用的知识点总结
2021/01/13 Python
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
HTML5 离线应用之打造零请求、无流量网站的解决方法
2013/04/25 HTML / CSS
婚庆公司的创业计划书
2014/01/22 职场文书
网站创业计划书
2014/04/30 职场文书
投标授权委托书范文
2014/08/02 职场文书
党课心得体会范文
2014/09/09 职场文书
工商行政处罚决定书
2015/06/24 职场文书