HarmonyOS 鸿蒙Next中无法读取图片的meta信息,比如创建时间,文件大小之类的
HarmonyOS 鸿蒙Next中无法读取图片的meta信息,比如创建时间,文件大小之类的 问题描述:
图片管理类的软件,这个库是用于图片选择。我的使用场景是进app能够获取系统相册中的图片列表,跟云列表对比,然后实现双向同步我现在能够拿到uri地址 例如:file://media/Photo/3587/xxxx.jpg但是无法读取图片的meta信息,比如创建时间,文件大小之类的
问题现象:
无法按到图片的比如创建时间,文件大小之类的一些信息
版本信息:
Flutter 版本:3.27.5-ohos-1.0.0
鸿蒙 SDK 版本:5.0.0(12)
目标 SDK 版本:6.0.0(20)
尝试方案:
PhotoPicker组件 拿不到 图片的meta信息,比如创建时间,文件大小之类的
社区链接:
https://developer.huawei.com/consumer/cn/forum/topic/0201192388819198394?fid=0109140870620153026

文档说path_provider已经适配了,但是报错
更多关于HarmonyOS 鸿蒙Next中无法读取图片的meta信息,比如创建时间,文件大小之类的的实战教程也可以访问 https://www.itying.com/category-93-b0.html
【解决方案】
可以通过getImageProperty接口选择属性参数image.PropertyKey.GPS_LATITUDE和image.PropertyKey.GPS_LONGITUDE来获取图片的经纬度信息,image.PropertyKey.DATE_TIME获取日期时间,更多属性参考PropertyKey。
如果不能解决您的问题,可以尽快补全以下信息: (如下信息根据实际情况选择)
1.path_provider适配具体报错信息或者异常截图 2.最小复现Demo
更多关于HarmonyOS 鸿蒙Next中无法读取图片的meta信息,比如创建时间,文件大小之类的的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,图片meta信息读取需使用媒体元数据管理能力。通过@ohos.file.photosLibrary模块的PhotoAsset类,可访问文件基本属性如大小、日期。具体操作时,调用get()方法获取PhotoAsset实例,再通过其属性如size和dateAdded获取文件大小与创建时间。注意需先申请媒体文件读写权限ohos.permission.READ_IMAGEVIDEO。此方法直接处理媒体库文件,不依赖Java或C语言接口。
在HarmonyOS Next中,通过PhotoPicker获取的图片URI无法直接读取元数据,这是当前API的限制。建议使用FilePicker替代PhotoPicker,通过FilePicker获取文件路径后,使用dart:io的File类读取文件大小和最后修改时间:
import 'dart:io';
File file = File(filePath);
int fileSize = await file.length();
DateTime modifiedTime = await file.lastModified();
对于EXIF等更详细的元数据,可使用exif包解析。注意处理权限问题,确保应用具有存储访问权限。

