详细问题描述
换成V3引擎之后, 调用uni.saveImageToPhotosAlbum方法, 调用之后进入了success回调, 回调的数据为{"errMsg":"saveImageToPhotosAlbum:ok"}
, 但是图片没有保存到相册, 包括在文件管理器中都找不到, ios可以正常保存图片
[内容]
重现步骤
[步骤]
[结果]
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[IDE版本号] 2.6.1
[windows版本号] win10
uni-app运行环境说明
编译器版本:2.6.1(v3)
安卓APP
[自定义组件模式]
App运行环境说明
[Android版本号] Android10, MIUI 11.0.1
[手机型号] 小米 MIX3
附件
[可重现代码片段]
let url = 'xxx'
uni.getImageInfo({
src: url,
success(res) {
console.log('获取图片信息', res)
let saveImage = () => {
uni.saveImageToPhotosAlbum({
filePath: res.path,
success(res) {
console.log(res)
uni.showToast({
title:'保存成功'
})
},
fail() {
uni.showToast({
title:'保存海报失败',
icon: 'none'
})
}
})
}
// #ifdef MP-WEIXIN
uni.authorize({
scope:'scope.writePhotosAlbum',
success() {
saveImage()
},
fail() {
uni.showToast({
title: '未获取到相册权限',
icon: 'none'
});
}
})
// #endif
// #ifndef MP-WEIXIN
saveImage()
// #endif
},
fail() {
uni.showToast({
title: '海报获取失败',
icon: 'none'
});
}
})
})
联系方式
[QQ]
5 个回复
5***@qq.com (作者)
仔细调了一下, 问题出在uni.getImageInfo方法, 在V3模式下(安卓环境)getImageInfo方法返回的文件地址为一个
.0
后缀的文件名, 而不是图片文件名, 保存文件时直接以.0
后缀保存了, 因此在手机中找不到保存的图片getImageInfo
方法获取到的数据如下:DCloud_uni-ad_HDX
通过什么方式得到的图片 url ?
5***@qq.com (作者)
是一个网络url, 通过接口获取的
2020-03-12 20:39
luch
我也需要保存图片不成功的问题了
路滑 - 一个简单的程序猿
我也出现这个bug。之前老版本的hbuildx是可以的,更新后默认用V3模式,苹果可以保持图片,安卓不行了,查看了,确实后缀变成.0了,有什么办法解决的
luch
把api 换成
uni.downloadFile
即可解决2020-04-14 10:32
路滑
回复 luch: 谢谢,确实可以
2020-04-17 20:17
1***@qq.com
回复 luch: 感谢 可以了
2020-06-07 19:14
世界太假
_doc/uniapp_temp_1642829250873/download/B612Kaji_20180203_133917%281%29(1).jpg
这种保存成功,手机相册找不到
_doc/uniapp_temp_1642829250873/download/PANO_20200315_103326.jpg
这种保存成功,手机相册可以找到
世界太假
我这是先用的uni.downloadFile然后用uni.saveImageToPhotosAlbum
2022-01-22 14:02
世界太假
{
"file": "file:///storage/emulated/0/DCIM/Camera/B612Kaji_20180203_133917%281%29(2).jpg",
"path": "file:///storage/emulated/0/DCIM/Camera/B612Kaji_20180203_133917%281%29(2).jpg",
"errMsg": "saveImageToPhotosAlbum:ok"
}
这种在相册找不到,MMP
2022-01-22 14:07