微信小程序保存图片到相册权限设置
作者:默认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
标签:微信小程序,相册
0
投稿
猜你喜欢
正计时JS代码
2008-05-25 14:53:00
纯数字不重复排列的另类方法
2009-12-04 18:25:00
sql ROW_NUMBER()与OVER()方法案例详解
2024-01-12 21:34:32
深入理解Pytorch中的torch. matmul()
2023-06-03 05:29:18
高性能WEB开发 web性能测试工具推荐
2022-06-09 00:29:59
为什么定位会被float和clear影响!
2008-11-10 11:06:00
python调用kubernetesAPI简单使用方法
2021-05-09 23:25:21
JDBC如何获取数据库连接
2024-01-23 05:53:50
eWebEditor不支持IE8/IE7的解决方法
2010-02-28 10:27:00
SQL Server 2000日志转移实现高可用性
2009-01-20 15:04:00
SQL Server 2019下载与安装教程(自定义安装)
2024-01-25 07:15:47
python实现堆排序的实例讲解
2023-01-06 20:50:38
Window 64位下python3.6.2环境搭建图文教程
2023-07-26 02:22:45
pytorch 如何使用amp进行混合精度训练
2023-12-25 13:35:02
python进行TCP端口扫描的实现
2021-04-18 12:33:32
Python3.6通过自带的urllib通过get或post方法请求url的实例
2023-01-21 09:32:41
如何从0开始用node写一个自己的命令行程序
2024-05-03 15:56:26
python迭代器的使用方法实例
2022-03-16 18:00:09
Python分析最近大火的网剧《隐秘的角落》
2023-07-17 07:09:04
在Django框架中编写Contact表单的教程
2023-04-10 15:08:00