#react-native #react-native-image-picker
Вопрос:
В моем приложении react-native я использую react-native-image-picker
для выбора изображения с камеры или галереи. Но тот resource.uri
вернулся undefined
в оба launchCamera
и. launchImageLibrary
Что я делаю не так?
Вот мое репозиторий github базовой сборки приложения react-native. Код средства выбора изображений находится в addProductScreen.js
Ответ №1:
Я увидел вашу проблему, и у меня есть для вас решение. Я не знаю почему, но, пожалуйста, попробуйте использовать так один раз response.assets[0].uri
Комментарии:
1. Спасибо. Это сработало и для меня тоже. Я сделал большой палец за твой ответ.
2. @шамми, вы не знаете, является ли это чем-то новым, что «активы» возвращаются в ответе? 🙂
Ответ №2:
Основываясь на приведенных выше ответах, это сработало для:
const handleSelectImage = () => {
const options = {
noData: true,
mediaType: 'photo' as const
}
launchImageLibrary(options, (response) => {
if (response.assets) {
const imageAssetsArray = response.assets[0].uri
setImageState(imageAssetsArray)
}
})
}
Ответ №3:
Это помогло мне, и я могу объяснить это так вот почему!
response
является объектом JSON, который содержит массив, называемый assets
.
Для доступа к первому элементу массива используйте .assets[0]
, затем вы можете получить доступ к .uri
.fileName
, и т.д..
{
//response.uri is looking for the uri right here instead of inside assets[]
"assets": [
{
"fileName": "yourImage.jpg",
"fileSize": 123,
"height": 123,
"type": "image/jpeg",
"uri": "yourImage.jpg",
"width": 123
}
]
}