Javascript 如何确定用户选择的是视频还是图像?

Javascript 如何确定用户选择的是视频还是图像?,javascript,react-native,expo,Javascript,React Native,Expo,使用react native和expo,我们希望用户能够发布视频或图像 代码如下: import * as ImagePicker from 'expo-image-picker'; const openImagePickerAsync = async() => { const permissionResult = await ImagePicker.requestMediaLibraryPermissionsAsync(); if (permissionResult.

使用react native和expo,我们希望用户能够发布视频或图像

代码如下:

import * as ImagePicker from 'expo-image-picker';

const openImagePickerAsync = async() => {
    const permissionResult = await ImagePicker.requestMediaLibraryPermissionsAsync();

    if (permissionResult.granted === false) {
      setImage(null);
      setHasImage(false);
      alert('Permission to access camera roll is required!');
      return;
    }

    const pickerResult = await ImagePicker.launchImageLibraryAsync({
      mediaTypes: ImagePicker.MediaTypeOptions.All, <---------------- allowing photos and video
      allowsEditing: true,
    });

    try {
      if (pickerResult.cancelled === true) {
        setHasImage(false);
        console.log('pickerResult is cancelled');
        return;
      }

      if (pickerResult !== null) {
        setHasImage(true);
        setImage(pickerResult.uri);
        console.log(image);
      } else {
        setImage(null);
        setHasImage(false);
        console.log('pickerResult is null');
        return;
      }
    } catch (error) {
      console.log(error);
    }
  };
import*作为“世博会图像采集器”中的图像采集器;
常量openImagePickerAsync=async()=>{
const permissionResult=等待ImagePicker.requestMediaLibraryPermissionsAsync();
if(permissionResult.grated==false){
setImage(空);
setHasImage(假);
警报('需要访问摄像机卷的权限!');
返回;
}
const pickerResult=等待ImagePicker.launchImageLibraryAsync({

mediaTypes:ImagePicker.MediaTypeOptions.All,您应该使用pickerResult.type,它将包含视频或图像

你可以参考

如果用户取消拾取,则返回{取消:true }. 否则,此方法将返回有关选定媒体的信息 当所选项目是图像时,此方法返回{ 取消:false,键入:“image”,uri,宽度,高度,exif,base64}; 当项目是视频时,此方法返回{cancelled:false, 键入:“视频”,uri,宽度,高度,持续时间}