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


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 相关文章推荐
js innerHTML 的一些问题的解决方法
Jun 22 Javascript
javascript两段代码,两个小技巧
Feb 04 Javascript
Jquery.LazyLoad.js修正版下载,实现图片延迟加载插件
Mar 12 Javascript
jQuery Ajax请求状态管理器打包
May 03 Javascript
js中unicode转码方法详解
Oct 09 Javascript
基于Javascript实现弹出页面效果
Jan 01 Javascript
JS中frameset框架弹出层实例代码
Apr 01 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 Javascript
Vue.js实现可配置的登录表单代码详解
Mar 29 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
Aug 24 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中鲜为人知的10个函数
2014/02/28 PHP
php通过array_merge()函数合并关联和非关联数组的方法
2015/03/18 PHP
PHP中Array相关函数简介
2016/07/03 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
js身份证验证超强脚本
2008/10/26 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
js和html5实现手机端刮刮卡抽奖效果完美兼容android/IOS
2013/11/18 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
2014/03/10 Javascript
jQuery打印指定区域Html页面并自动分页
2014/07/04 Javascript
Node.js中的事件驱动编程详解
2014/08/16 Javascript
JavaScript获取页面中超链接数量的方法
2015/11/09 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
JS 全屏和退出全屏详解及实例代码
2016/11/07 Javascript
JavaScript实现弹窗效果代码分析
2017/03/09 Javascript
基于bootstrap写的一点localStorage本地储存
2017/11/21 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
深入理解Puppeteer的入门教程和实践
2019/03/05 Javascript
解决Layui 表格自适应高度的问题
2019/11/15 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
简单解析Django框架中的表单验证
2015/07/17 Python
Ubuntu安装Jupyter Notebook教程
2017/10/18 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Django-migrate报错问题解决方案
2020/04/21 Python
pyx文件 生成pyd 文件用于 cython调用的实现
2021/03/04 Python
如何让IE9以下版本(ie6/7/8)认识html5元素
2013/04/01 HTML / CSS
比驿:全球酒店比价网
2018/06/20 全球购物
什么是接口(Interface)?
2013/02/01 面试题
Linux如何为某个操作添加别名
2013/03/01 面试题
餐饮加盟计划书
2014/01/10 职场文书
大学迎新生标语
2014/10/06 职场文书
初中中等生评语
2014/12/29 职场文书
导游词之广东佛山(南风古灶)
2019/09/24 职场文书
html+css合并表格边框的示例代码
2021/03/31 HTML / CSS
Python中OpenCV实现查找轮廓的实例
2021/06/08 Python