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


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加解密 脚本解密
Feb 22 Javascript
onkeypress字符按键兼容所有浏览器使用介绍
Apr 24 Javascript
jquery 获取表单元素里面的值示例代码
Jul 28 Javascript
JavaScript DOM进阶方法
Apr 13 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
Jun 06 Javascript
微信小程序之绑定点击事件实例详解
Jul 07 Javascript
详解在vue-cli项目下简单使用mockjs模拟数据
Oct 19 Javascript
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
在Vue中实现随hash改变响应菜单高亮
Mar 09 Javascript
vue 封装 Adminlte3组件的实现
Mar 18 Javascript
html中创建并调用vue组件的几种方法汇总
Nov 17 Javascript
element 动态合并表格的步骤
Dec 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
使用Limit参数优化MySQL查询的方法
2008/11/12 PHP
PHP5中Cookie与 Session使用详解
2013/04/30 PHP
基于php下载文件的详解
2013/06/02 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
php实现parent调用父类的构造方法与被覆写的方法
2015/02/11 PHP
php实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP编译安装时常见错误解决办法
2015/05/28 PHP
php 人员权限管理(RBAC)实例(推荐)
2017/05/24 PHP
JavaScript继承方式实例
2010/10/29 Javascript
JavaScript实现的圆形浮动标签云效果实例
2015/08/06 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
2016/01/06 Javascript
javascript实现页面滚屏效果
2017/01/17 Javascript
微信小程序实现带刻度尺滑块功能
2017/03/29 Javascript
Vue cli 引入第三方JS和CSS的常用方法分享
2018/01/20 Javascript
vue中的适配px2rem示例代码
2018/11/19 Javascript
在layui中select更改后生效的方法
2019/09/05 Javascript
JSON 入门教程基础篇 json入门学习笔记
2020/09/22 Javascript
Python通过正则表达式选取callback的方法
2015/07/18 Python
Python基础教程之浅拷贝和深拷贝实例详解
2017/07/15 Python
Python数据结构之单链表详解
2017/09/12 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
浅谈Python批处理文件夹中的txt文件
2019/03/11 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
教师师德教育的自我评价
2013/10/31 职场文书
园艺师求职信
2014/03/10 职场文书
投资协议书范本
2014/04/21 职场文书
珍惜时间演讲稿
2014/05/14 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
2014年民警工作总结
2014/11/25 职场文书
加入学生会自荐书
2015/03/05 职场文书
新闻简讯格式及范文
2015/07/22 职场文书
关于践行三严三实的心得体会
2016/01/05 职场文书
社交电商模式的兴起:这些新的商机千万别错过
2019/07/26 职场文书