Загрузить изображение в хранилище Firebase, используя реагировать родной - PullRequest
0 голосов
/ 27 октября 2019

Я использую expo и firebase для создания собственного приложения и хочу загрузить изображение в хранилище firebase. У меня есть следующая функция в качестве функции onPress для загрузки изображения.

choosePhoto = () => {
        const options = {
          noData: true,
        }
        ImagePicker.launchImageLibrary(options, response => {
          if (response.uri) {
            this.setState({ photo : response })
          }
        })
      }

Я получаю сообщение об ошибке "undefined не является функцией (рядом с '... ImagePicker.launchImageLibrary ...')", когдаЯ запускаю приложение. Как я могу исправить ошибку?

Ответы [ 2 ]

0 голосов
/ 28 октября 2019

У меня есть пример:

onImageUpload = async () => {
 try {
  if (cameraRollPerm === 'granted') {
    let pickerResult = await ImagePicker.launchImageLibraryAsync({
      allowsEditing: true,
      aspect: [4, 3],
    });
    var wantedMaxSize = 150;
    var rawheight = pickerResult.height;
    var rawwidth = pickerResult.width;
    var ratio = rawwidth / rawheight;
    var wantedwidth = wantedMaxSize;
    var wantedheight = wantedMaxSize/ratio;
    // check vertical or horizontal
    if(rawheight > rawwidth){
        wantedwidth = wantedMaxSize*ratio;
        wantedheight = wantedMaxSize;
    }
    let resizedUri = await new Promise((resolve, reject) => {
      ImageEditor.cropImage(pickerResult.uri,
      {
          offset: { x: 0, y: 0 },
          size: { width: pickerResult.width, height: pickerResult.height },
          displaySize: { width: wantedwidth, height: wantedheight },
          resizeMode: 'contain',
      },
      (uri) => resolve(uri),
      () => reject(),
      );
    });
    let uploadUrl = await firebaseSvc.uploadImage(resizedUri);
    console.log(uploadUrl)
  }
} catch (err) {
  console.log('onImageUpload error:' + err.message);
}
};

с firebaseSvc = firebase initializeApp ({...})

0 голосов
/ 27 октября 2019

Вам нужно связать ответное-нативное средство выбора изображений:

# RN >= 0.60
cd ios && pod install

# RN < 0.60
react-native link react-native-image-picker

Следуйте инструкциям по установке

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...