5***@qq.com
5***@qq.com
  • 发布:2020-03-09 17:13
  • 更新:2022-01-22 14:00
  • 阅读:1880

【报Bug】V3引擎安卓APP端uni.saveImageToPhotosAlbum调用成功, 图片没有保存

分类:uni-app
v3

详细问题描述

换成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]

2020-03-09 17:13 负责人:无 分享
已邀请:
5***@qq.com

5***@qq.com (作者)

仔细调了一下, 问题出在uni.getImageInfo方法, 在V3模式下(安卓环境)getImageInfo方法返回的文件地址为一个.0后缀的文件名, 而不是图片文件名, 保存文件时直接以.0后缀保存了, 因此在手机中找不到保存的图片
getImageInfo方法获取到的数据如下:

{  
	"errMsg": "getImageInfo:ok",  
	"path": "file:///data/user/0/io.dcloud.HBuilder/cache/image_manager_disk_cache/cbd6a4895bfb5c9c8f5a66ae18c2eca693eaee577b8f8ab3203f6be4207949cb.0",  
	"width": 400,  
	"height": 400,  
	"orientation": "up",  
	"type": "jpeg"  
}
DCloud_uniAD_HDX

DCloud_uniAD_HDX

通过什么方式得到的图片 url ?

  • 5***@qq.com (作者)

    是一个网络url, 通过接口获取的


    2020-03-12 20:39

luch

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

该问题目前已经被锁定, 无法添加新回复