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


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 相关文章推荐
新浪中用来显示flash的函数
Apr 02 Javascript
javascript表单验证使用示例(javascript验证邮箱)
Jan 07 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 Javascript
jQuery ajax应用总结
Jun 02 Javascript
详解Angular 4 表单快速入门
Jun 05 Javascript
最新Javascript程序员面试试题和解题方法
Nov 23 Javascript
解决vue中修改了数据但视图无法更新的情况
Aug 27 Javascript
解决vue同一slot在组件中渲染多次的问题
Sep 06 Javascript
小程序实现展开/收起的效果示例
Sep 22 Javascript
改进 JavaScript 和 Rust 的互操作性并深入认识 wasm-bindgen 组件
Jul 13 Javascript
JavaScript实现筛选数组
Mar 02 Javascript
JS继承最简单的理解方式
Mar 31 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去除字符串中空字符的常用方法小结
2015/03/17 PHP
PHP-FPM 设置多pool及配置文件重写操作示例
2019/10/02 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
限制文本框输入N个字符的js代码
2010/05/13 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
浅谈JSON和JSONP区别及jQuery的ajax jsonp的使用
2014/11/23 Javascript
javascript实现模拟时钟的方法
2015/05/13 Javascript
IE7浏览器窗口大小改变事件执行多次bug及IE6/IE7/IE8下resize问题
2015/08/21 Javascript
Bootstrap每天必学之缩略图与警示窗
2015/11/29 Javascript
AngularJs中Bootstrap3 datetimepicker使用实例
2016/12/13 Javascript
jQuery插件DataTable使用方法详解(.Net平台)
2016/12/22 Javascript
JS实现的自动打字效果示例
2017/03/10 Javascript
Vue之Watcher源码解析(2)
2017/07/19 Javascript
微信小程序-滚动消息通知的实例代码
2017/08/03 Javascript
vue3.0 CLI - 2.4 - 新组件 Forms.vue 中学习表单
2018/09/14 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
Vue基础配置讲解
2019/11/29 Javascript
vue 自定义组件的写法与用法详解
2020/03/04 Javascript
Python 自动安装 Rising 杀毒软件
2009/04/24 Python
Python random模块(获取随机数)常用方法和使用例子
2014/05/13 Python
对于Python的框架中一些会话程序的管理
2015/04/20 Python
详谈Python高阶函数与函数装饰器(推荐)
2017/09/30 Python
python面向对象 反射原理解析
2019/08/12 Python
基于python的itchat库实现微信聊天机器人(推荐)
2019/10/29 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
Python利用pip安装tar.gz格式的离线资源包
2020/09/14 Python
numpy实现RNN原理实现
2021/03/02 Python
2019年.net常见面试问题
2012/02/12 面试题
Ajax实现页面无刷新留言效果
2021/03/24 Javascript
中班上学期幼儿评语
2014/04/30 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
学校四风问题对照检查材料思想汇报
2014/09/26 职场文书
给女朋友的道歉短信
2015/05/12 职场文书
Vue自定义铃声提示音组件的实现
2022/01/22 Vue.js