首页 > 解决方案 > 如何使用来自 expo-image-picker 的 ImagePicker 获取图像的多个属性?

问题描述

我想以 base64 格式从相机胶卷中检索图像,并获取其他信息,例如 uri 和文件名。目前,来自 expo-image-picker 的 ImagePicker 似乎一次只能获取两种格式中的一种。

    const pickImage = async () => {
        let result = await ImagePicker.launchImageLibraryAsync({
            mediaTypes: ImagePicker.MediaTypeOptions.All,
            allowsEditing: true,
            aspect: [4, 3],
            quality: 1,
            base64: true,
        })

        if (!result.cancelled) {
            setImageSource(result.base64)
        }
    }

例如,如果我将base64属性指定为true,它将仅获取base64格式中的图像,而如果我不这样做base64,它将仅获取 uri。如何同时获取图像的多个属性?

SDK 版本:34.0.0
平台(Android/iOS/web/all):iOS

标签: react-nativeexpo

解决方案


ImagePicker 将始终检索 uri。添加 base64 之类的选项将添加到返回的信息中,如下所示

{
  "cancelled":false,
  "height":1611,
  "width":2148,
  "uri":"file:///data/user/0/host.exp.exponent/cache/cropped1814158652.jpg",
  "base64":"iVBORw0KGgoAAA....."
}

因此,如果将 base64 属性设置为 true,则可以使用以下命令检索 base64 格式result.base64

和 uriresult.uri


推荐阅读