react-native - 如何使用来自 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
解决方案
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
推荐阅读
- database - 如何在不知道过程参数的情况下获取 Amazon Redshift 中存储过程的完整 ddl 脚本
- elasticsearch - 在从 Fluentd 推送日志时在 Elasticsearch 索引中添加自定义字段
- reactjs - 在 mqtt 套接字上接收数据时,我想在 ReactNative 中重新渲染特定组件
- android - 引起:java.lang.ArrayIndexOutOfBoundsException: length=0; 索引=0
- c# - C# Azure 函数和旧版 DLL
- sql - 数字列上的动态多个 PIVOT
- c++ - 如何从 C++ 中的函数返回不同的类型?
- php - Laravel - 方法 Illuminate\Support\Collection::select 不存在
- python - 如何在单个 for 循环中遍历两个字符串列表?
- avro - 没有名称的 Avro Schema 数组