HarmonyOS 鸿蒙Next如何获取图库图片的真实绝对路径

发布于 1周前 作者 itying888 最后一次编辑是 5天前 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何获取图库图片的真实绝对路径

使用如下代码 从图库选取了 一个图片,但是这里 只能回去到对应的uri

let photoPicker = new photoAccessHelper.PhotoViewPicker();
let photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_TYPE;
photoSelectOptions.maxSelectNumber = 1;
photoPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult)=>{
let res = new List<string>()
photoSelectResult.photoUris.forEach((value)=>{
res.add(value)
})

})

如何能够获取到图片的真实路径,例如我这边想讲路径传递给h5 或者flutter,flutter 可以通过绝对路径直接讲图片加载出来,而这边获取到的是类似 “file://media/Photo/32/IMG_1718088216_008/xxxxx.jpg”这种uri 如何获取绝对路径
咨询场景描述:


更多关于HarmonyOS 鸿蒙Next如何获取图库图片的真实绝对路径的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS 鸿蒙Next如何获取图库图片的真实绝对路径的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,获取图库图片的真实绝对路径并非直接可行,因为系统出于安全和隐私保护的考虑,并未提供直接获取文件绝对路径的API。

不过,可以通过一些间接的方法来实现图片的获取和使用。首先,应用需要获取ohos.permission.READ_USER_STORAGE权限,以便访问用户存储中的图片。然后,可以使用DataAbilityHelper和AVStorage等API来查询媒体数据库,获取图片的URI和其他相关信息。

在实际操作中,通常不需要获取图片的绝对路径,而是可以通过URI来访问和操作图片。例如,可以使用fileIo等API以只读模式打开图片,然后将其复制到应用的沙箱目录中,再进行后续的处理或上传操作。

如果确实需要获取某种形式的“绝对路径”,可以考虑将图片复制到沙箱后,使用沙箱内的路径进行操作。但请注意,这并不是传统意义上的文件系统的绝对路径,而是应用沙箱内的相对路径。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部