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


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压缩混淆工具
May 16 Javascript
js网页中的(运行代码)功能实现思路
Feb 04 Javascript
cookie中的path与domain属性详解
Dec 18 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
Jan 26 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
JavaScript实现大数的运算
Nov 24 Javascript
详解JS对象封装的常用方式
Dec 30 Javascript
80%应聘者都不及格的JS面试题
Mar 21 Javascript
vue-cli与webpack处理静态资源的方法及webpack打包的坑
May 15 Javascript
浅析vue 函数配置项watch及函数 $watch 源码分享
Nov 22 Javascript
JS实现的类似微信聊天效果示例
Jan 29 Javascript
JS函数动态传递参数的方法分析【基于arguments对象】
Jun 05 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自动注册登录验证机制实现代码
2011/12/20 PHP
php引用传值实例详解学习
2013/11/06 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
2015/12/31 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
phpstorm激活码2020附使用详细教程
2020/09/25 PHP
深入认识javascript中的eval函数
2009/11/02 Javascript
js客户端快捷键管理类的较完整实现和应用
2010/06/08 Javascript
为EasyUI的Tab标签添加右键菜单的方法
2012/07/14 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
js滚动条平滑移动示例代码
2016/03/29 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
详细介绍RxJS在Angular中的应用
2017/09/23 Javascript
nodejs aes 加解密实例
2018/10/10 NodeJs
jquery实现的分页显示功能示例
2019/08/23 jQuery
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python获取linux主机ip的简单实现方法
2016/04/18 Python
python使用Apriori算法进行关联性解析
2017/12/21 Python
Pytorch入门之mnist分类实例
2018/04/14 Python
python实现textrank关键词提取
2018/06/22 Python
Python面向对象之类的封装操作示例
2019/06/08 Python
Python PyCharm如何进行断点调试
2019/07/05 Python
python随机数分布random均匀分布实例
2019/11/27 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
CSS3之transition实现下划线的示例代码
2018/05/30 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
在线学习西班牙语、法语或其他语言:Babbel.com
2018/02/07 全球购物
Bose加拿大官方网站:美国知名音响品牌
2019/03/21 全球购物
阿迪达斯新加坡官方网站:adidas新加坡
2019/12/06 全球购物
欧洲最大的预定车位市场:JustPark
2020/01/06 全球购物
大学应届毕业生个人求职信
2013/09/23 职场文书
广告学专业推荐信范文
2013/11/23 职场文书
责任书格式
2015/01/29 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python