HarmonyOS 鸿蒙Next怎么根据相册文件uri获取大小,创建时间,修改时间,时长等信息?

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next怎么根据相册文件uri获取大小,创建时间,修改时间,时长等信息? 获取相册的本地视频返回uri是个filepath,怎么获取该视频的大小,创建时间,修改时间,时长等参数

2 回复

详细信息可参考官网开发指南:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/user-file-uri-intro-V5#媒体文件uri的使用方式

更多关于HarmonyOS 鸿蒙Next怎么根据相册文件uri获取大小,创建时间,修改时间,时长等信息?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,根据相册文件的URI获取文件的大小、创建时间、修改时间以及时长等信息,可以通过以下方式实现:

  1. 获取文件对象: 使用MediaStoreContentResolver根据URI查询文件的ID,然后通过该ID获取文件的完整路径或者继续查询文件的其他信息。

  2. 读取文件属性: 通过文件路径,使用File类或者FileInputStream等API可以获取文件的大小。

  3. 获取文件的创建和修改时间: 使用File类的lastModified()方法可以获取文件的最后修改时间,但HarmonyOS可能提供了更直接的方法通过MediaStoreContentResolver查询文件的创建和修改时间。

  4. 获取视频时长: 对于视频文件,需要使用MediaMetadataRetriever类来提取视频的时长信息。

示例代码(简化):

Uri uri = ...; // 文件URI
ContentResolver resolver = getContentResolver();
Cursor cursor = resolver.query(uri, null, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
    long size = cursor.getLong(...); // 查询文件大小
    long createTime = cursor.getLong(...); // 查询创建时间
    long modifyTime = cursor.getLong(...); // 查询修改时间
    // 对于视频文件,使用MediaMetadataRetriever获取时长
}
cursor.close();

注意:实际代码中需要根据URI的类型和MediaStore的API正确构造查询语句。

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

回到顶部