微信小程序保存图片到相册权限设置
作者:默认S 发布时间:2024-06-16 19:48:50
标签:微信小程序,相册
微信小程序保存图片到相册可以分成两种:一种是保存网络图片,一种是保存本地图片
保存网络图片:
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('获取权限失败,给出不给权限就无法正常使用的提示')
}
}
})
}
}
})
}
})
}
})
来源:https://blog.csdn.net/qq_37949737/article/details/93719454


猜你喜欢
- 前言飞桨(PaddlePaddle)是集深度学习核心框架、工具组件和服务平台为一体的技术先进、功能完备的开源深度学习平台1. 任务描述乘坐出
- 一 引入jwtjwt用户身份验证go get github.com/dgrijalva/jwt-go二 框架中引入jwtimport (&q
- str为字符串s为字符串str.isalnum() 所有字符都是数字或者字母str.isalpha() 所有字符都是字母str.isdigi
- 需要建立2个文件,一个作为客户端,一个作为服务端文件一 作为客户端client,文件二作为服务端serverudp的特点是不需要建立连接文件
- 许多的语言,为了将异步模式处理得更像平常的顺序,都包含一种有趣的方案库,它们被称之为promises,deferreds,或者futures
- 上一篇博客selenium+python自动化测试(二)–使用webdriver操作浏览器讲解了使用webdriver操作浏览器的各种方法,
- 有很多原因需要控制用户访问站点的某部分。一个简单原始的限制方法是检查 request.user.is_authenticated() ,然后
- 当遇到一个模板标签(template tag)时,模板解析器就会把标签包含的内容,以及模板解析器自己作为参数调用一个python函数。 这个
- 先了解如何利用python语言实现以平面和标记物进行姿态估计本实验只是先实现一个简单的小例子。简单来说就是先识别出图像中的参考面,再拍摄一张
- 在SQL Server中联机丛书是这样说的: SQL Server timestamp 数据类型与时间和日期无关。SQL Server ti
- 本文实例讲述了Python实现获取nginx服务器ip及流量统计信息功能。分享给大家供大家参考,具体如下:#!/usr/bin/python
- golang是一种强类型语言,虽然在代码中经常看到这种写法,i:=10这其实这是编译器自动做了类型推断在编译期间。编译器会对数据进行类型检查
- 一、导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1、导出数据和表结构:mysqldump -u用户名 -
- 摘要:本文介绍了有关数据表的优化技巧,主要内容有,选择表的类型,打开尽量少的表,锁定表与查询速度的关系以及如何优化表以达到提高查询速度的目的
- redis无法访问本机真实ip地址1.我在进行用jedis来连接redis时出现了问题:我用Jedis jedis = new Jedis(
- <pre name="code" class="python">creazy.txt文件
- Python的运算符和其他语言类似(我们暂时只了解这些运算符的基本用法,方便我们展开后面的内容,高级应用暂时不介绍)数学运算>>
- 一:mysql官网下载https://dev.mysql.com/downloads/file/?id=494993
- 以国内最流行ASP为例,我不知道有多少人会在写代码时想到“容错”这个概念,实际上当我遇到这种事时,也是不了了之。为什么呢,想想最初的意思是认
- 本文主要向大家分享了Python编程中通过Django模块实现用户注册以及邮箱验证功能的简单介绍及代码实现,具体如下。用户注册:类似于用户登