HarmonyOS鸿蒙Next中PhotoViewPicker如何过滤掉视频?

HarmonyOS鸿蒙Next中PhotoViewPicker如何过滤掉视频?

async function example() { try {
let PhotoSelectOptions = new picker.PhotoSelectOptions(); PhotoSelectOptions.MIMEType = picker.PhotoViewMIMETypes.IMAGE_TYPE; PhotoSelectOptions.maxSelectNumber = 5; let photoPicker = new picker.PhotoViewPicker(); photoPicker.select(PhotoSelectOptions, (err, PhotoSelectResult) => { if (err) { console.error('PhotoViewPicker.select failed with err: ’ + err); return; } console.info('PhotoViewPicker.select successfully, PhotoSelectResult uri: ’ + JSON.stringify(PhotoSelectResult)); }); } catch (err) { console.error('PhotoViewPicker failed with err: ’ + err); } }

图片选择器 PhotoViewPicker 的 PhotoSelectOptions.MIMEType 选择 IMAGE_TYPE 打开相册没有过滤掉视频啊。

有什么办法可以只选择图片吗?


更多关于HarmonyOS鸿蒙Next中PhotoViewPicker如何过滤掉视频?的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

应该是文档先出了,功能还没完善,毕竟还是是beta版本的,等等吧,也可以提个工单问问

更多关于HarmonyOS鸿蒙Next中PhotoViewPicker如何过滤掉视频?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,PhotoViewPicker组件用于选择图片或视频。如果你只想选择图片并过滤掉视频,可以通过设置PhotoViewPickermediaType属性来实现。将mediaType设置为MediaType.IMAGE,这样PhotoViewPicker就只会显示图片,而不会显示视频。

示例代码如下:

let photoPicker = new picker.PhotoViewPicker();
photoPicker.mediaType = picker.MediaType.IMAGE;
photoPicker.select().then((photoSelectResult) => {
    console.info('Photo selected successfully');
}).catch((err) => {
    console.error('Photo selection failed');
});

通过这种方式,PhotoViewPicker将仅允许用户选择图片,视频将被过滤掉。

在HarmonyOS鸿蒙Next中,使用PhotoViewPicker时,可以通过设置PhotoSelectOptionsMimeType属性来过滤掉视频文件。具体代码如下:

PhotoSelectOptions options = new PhotoSelectOptions.Builder()
    .setMimeType(PhotoViewMimeType.ofImage()) // 仅选择图片
    .build();
PhotoViewPicker picker = new PhotoViewPicker(context);
picker.select(options, new PhotoViewPicker.PhotoSelectCallback() {
    @Override
    public void onResult(List<PhotoView> photos) {
        // 处理选择的图片
    }
});

通过setMimeType(PhotoViewMimeType.ofImage()),确保只选择图片文件,从而过滤掉视频文件。

回到顶部