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


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 相关文章推荐
IE/FireFox具备兼容性的拖动代码
Aug 13 Javascript
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
jQuery 过滤方法filter()选择具有特殊属性的元素
Jun 15 Javascript
js从Cookies里面取值的简单实现
Jun 30 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
Apr 06 Javascript
教你用十行node.js代码读取docx的文本
Mar 08 Javascript
详解angularJs指令的3种绑定策略
Apr 13 Javascript
JS实现div模块的截图并下载功能
Oct 17 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
微信二次分享报错invalid signature问题及解决方法
Apr 01 Javascript
Nautil 中使用双向数据绑定的实现
Oct 02 Javascript
微信小程序自定义弹出层效果
May 26 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查看session内容的函数
2008/08/27 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
PHP删除数组中的特定元素的代码
2012/06/28 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
DEFER怎么用?
2006/07/01 Javascript
javascript XML数据显示为HTML一例
2008/12/23 Javascript
javascript学习笔记(七)利用javascript来创建和存储cookie
2011/04/08 Javascript
js change,propertychange,input事件小议
2011/12/20 Javascript
javascript中普通函数的使用介绍
2013/12/19 Javascript
JavaScript中实现异步编程模式的4种方法
2014/09/24 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JS实现控制表格行文本对齐的方法
2015/03/30 Javascript
JavaScript数据类型学习笔记
2016/01/25 Javascript
js实现上一页下一页的效果【附代码】
2016/03/10 Javascript
js严格模式总结(分享)
2016/08/22 Javascript
vue-router 学习快速入门
2017/03/01 Javascript
vue高德地图之玩转周边
2017/06/16 Javascript
vue router 组件的高级应用实例代码
2019/04/08 Javascript
浅谈layer的Icon样式以及一些常用的layer窗口使用方法
2019/09/11 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
解决PyCharm中光标变粗的问题
2017/08/05 Python
python进程管理工具supervisor的安装与使用教程
2017/09/05 Python
python3+PyQt5使用数据库窗口视图
2018/04/24 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
解决Python中pandas读取*.csv文件出现编码问题
2019/07/12 Python
python用match()函数爬数据方法详解
2019/07/23 Python
Python基于yaml文件配置logging日志过程解析
2020/06/23 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
Python实现区域填充的示例代码
2021/02/03 Python
Python3.9.1中使用split()的处理方法(推荐)
2021/02/07 Python
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
车辆管理制度范本
2015/08/05 职场文书
Python文件的操作示例的详细讲解
2021/04/08 Python
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android