HarmonyOS 鸿蒙Next 相册选择器过滤图片时IMAGE_TYPE为'image/*',如何获取媒体图片信息中的gif类型

HarmonyOS 鸿蒙Next 相册选择器过滤图片时IMAGE_TYPE为’image/*’,如何获取媒体图片信息中的gif类型

相册选择器过滤图片的时候是IMAGE_TYPE ‘image/*’,获取媒体图片信息的时候如何能获取到类型是 gif.

自己选择了一个 gif 图后,查询图片信息,使用如下,type是 1(IMAGE) 和 subtype是 0(DEFAULT)。选了一个普通图片也是这样的结果,这样就区分不出来是否是 gif 图了,请问怎么区分啊

fetchColumns: [
    photoAccessHelper.PhotoKeys.WIDTH,
    photoAccessHelper.PhotoKeys.HEIGHT,
    photoAccessHelper.PhotoKeys.TITLE,
    photoAccessHelper.PhotoKeys.ORIENTATION,
    photoAccessHelper.PhotoKeys.DURATION,
    photoAccessHelper.PhotoKeys.PHOTO_TYPE,
    photoAccessHelper.PhotoKeys.PHOTO_SUBTYPE],
  predicates: predicates

更多关于HarmonyOS 鸿蒙Next 相册选择器过滤图片时IMAGE_TYPE为'image/*',如何获取媒体图片信息中的gif类型的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

已解决,保存路径到本地后,通过以下获取到了类型

const imageSourceApi: image.ImageSource = image.createImageSource(imageUrl);
const imageInfo = imageSourceApi.getImageInfoSync(0);

更多关于HarmonyOS 鸿蒙Next 相册选择器过滤图片时IMAGE_TYPE为'image/*',如何获取媒体图片信息中的gif类型的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,当你使用相册选择器并设置IMAGE_TYPE'image/*'来过滤图片时,若需要专门获取GIF类型的图片信息,可以通过检查媒体文件的MIME类型来实现。

鸿蒙系统提供的API通常会返回选中文件的URI或路径,你可以进一步通过ContentResolver查询该文件的MIME类型。具体步骤如下:

  1. 使用相册选择器获取到图片的URI。
  2. 通过ContentResolver和MediaStore查询该URI对应的MIME类型。
  3. 检查MIME类型是否为"image/gif"

示例代码(伪代码,具体实现需根据实际API调整):

Uri selectedImageUri = // 从相册选择器获取到的URI;
ContentResolver contentResolver = getContentResolver();
String mimeType = contentResolver.getType(selectedImageUri);

if ("image/gif".equals(mimeType)) {
    // 处理GIF图片
}

注意,上述代码是基于Android系统的常见做法,鸿蒙系统API可能有所不同,但核心思路一致:获取URI后查询MIME类型并进行判断。

如果问题依旧没法解决请联系官网客服,官网地址是

回到顶部