如何使用expo-image-picker中的ImagePicker获取图像的多个属性?

时间:2019-11-26 15:45:49

标签: react-native expo

我想从相机胶卷中检索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格式获取图像,而如果我不使用{{1 }},它将仅获取uri。如何同时获取图像的多个属性?

SDK版本:34.0.0
平台(Android / iOS /网络/全部):iOS

1 个答案:

答案 0 :(得分:1)

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

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

因此,如果将base64属性设置为true,则可以使用result.base64

检索base64格式。

和带有result.uri的uri