ответ на запрос react-native-image-picker.uri не определен

#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
    }
  ]
}