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


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 相关文章推荐
讲两件事:1.this指针的用法小探. 2.ie的attachEvent和firefox的addEventListener在事件处理上的区别
Apr 12 Javascript
jQuery ui1.7 dialog只能弹出一次问题
Aug 27 Javascript
JS文本框不能输入空格验证方法
Mar 19 Javascript
javascript实现原生ajax的几种方法介绍
Sep 21 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
jsPDF导出pdf示例
May 02 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 Javascript
全面理解JavaScript中的闭包
May 12 Javascript
Angular使用 ng-img-max 调整浏览器中的图片的示例代码
Aug 17 Javascript
bootstrap table实现双击可编辑、添加、删除行功能
Sep 27 Javascript
vue中v-model的应用及使用详解
Jun 27 Javascript
Vue和Flask通信的实现
May 19 Vue.js
微信小程序仿通讯录功能
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
第六节--访问属性和方法
2006/11/16 PHP
PHP代码优化的53个细节
2014/03/03 PHP
PHP文件缓存内容保存格式实例分析
2014/08/20 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
非常全面的php日期时间运算汇总
2015/11/04 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
基于jquery的仿百度搜索框效果代码
2011/04/11 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
jQuery处理xml格式的返回数据(实例解析)
2013/11/28 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
Jquery uploadify上传插件使用详解
2016/01/13 Javascript
ECharts仪表盘实例代码(附源码下载)
2016/02/18 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
利用JS实现一个同Excel表现的智能填充算法
2018/08/13 Javascript
Vue.set() this.$set()引发的视图更新思考及注意事项
2018/08/30 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
[58:11]守擂赛第二周擂主赛 DeMonsTer vs Leopard
2020/04/28 DOTA
Python中的zip函数使用示例
2015/01/29 Python
在Mac OS上搭建Python的开发环境
2015/12/24 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python算法题 链表反转详解
2019/07/02 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
CSS3动画:5种预载动画效果实例
2017/04/05 HTML / CSS
HTML5 和小程序实现拍照图片旋转、压缩和上传功能
2018/10/08 HTML / CSS
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
个人简历中自我评价
2014/02/11 职场文书
产品生产计划书
2014/05/07 职场文书
六一亲子活动总结
2014/07/01 职场文书
竞聘演讲稿开场白
2014/08/25 职场文书
学习礼仪心得体会
2014/09/01 职场文书
学生无故旷课检讨书
2014/09/20 职场文书
小学记事作文之200字
2019/08/06 职场文书
jQuery ajax - getScript() 方法和getJSON方法
2021/05/14 jQuery
90后经典动画片排行:《数码宝贝》第二,《小鲤鱼历险记》在榜
2022/03/18 日漫