HarmonyOS 鸿蒙Next photoAccessHelper选择完图片和视频后,返回的photoAccessHelper.PhotoSelectResult是字符串的数组,如何区分选择的是图片或视频
HarmonyOS 鸿蒙Next photoAccessHelper选择完图片和视频后,返回的photoAccessHelper.PhotoSelectResult是字符串的数组,如何区分选择的是图片或视频
const photoSelectOptions = new photoAccessHelper.PhotoSelectOptions();
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE; // 过滤选择媒体文件类型为IMAGE
photoSelectOptions.maxSelectNumber = 9; // 选择媒体文件的最大数目
let uris: Array<string> = [];
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
uris = photoSelectResult.photoUris;
}).catch((err: BusinessError) => {
console.error(
})
这里的uri是字符串的数组, 如何知道选择的是图片或视频, 不建议通过判断.jpg是图片这种方式判断, 如果用户把png或者其他格式的存到相册呢? 没有系统的判断方式吗?
photoSelectOptions.MIMEType = photoAccessHelper.PhotoViewMIMETypes.IMAGE_VIDEO_TYPE; // 过滤选择媒体文件类型为IMAGE
photoSelectOptions.maxSelectNumber = 9; // 选择媒体文件的最大数目
let uris: Array<string> = [];
const photoViewPicker = new photoAccessHelper.PhotoViewPicker();
photoViewPicker.select(photoSelectOptions).then((photoSelectResult: photoAccessHelper.PhotoSelectResult) => {
uris = photoSelectResult.photoUris;
}).catch((err: BusinessError) => {
console.error(
Invoke photoViewPicker.select failed, code is ${err.code}, message is ${err.message}
);})
这里的uri是字符串的数组, 如何知道选择的是图片或视频, 不建议通过判断.jpg是图片这种方式判断, 如果用户把png或者其他格式的存到相册呢? 没有系统的判断方式吗?
2 回复
在HarmonyOS鸿蒙系统中,当使用photoAccessHelper
选择完图片和视频后,返回的photoAccessHelper.PhotoSelectResult
是一个字符串数组,这些字符串通常是文件路径。要区分选择的是图片还是视频,可以通过文件路径的扩展名来判断。
具体方法如下:
- 遍历
photoAccessHelper.PhotoSelectResult
返回的字符串数组。 - 对每个字符串(文件路径)进行解析,获取其扩展名。
- 根据扩展名判断文件类型:
- 如果扩展名是
.jpg
、.jpeg
、.png
、.bmp
等常见的图片格式,则该文件是图片。 - 如果扩展名是
.mp4
、.avi
、.mov
、.mkv
等常见的视频格式,则该文件是视频。
- 如果扩展名是
示例代码(伪代码):
for (String filePath : photoSelectResult) {
String extension = getFileExtension(filePath);
if (isImageExtension(extension)) {
// 处理图片
} else if (isVideoExtension(extension)) {
// 处理视频
}
}
其中,getFileExtension
方法用于获取文件扩展名,isImageExtension
和isVideoExtension
方法用于判断扩展名是否属于图片或视频。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html