github.com/expo/firebase-storage-upload-example/issues/14

аюсь загрузить файл изображения в хранилище Firebase, сохранить URL-адрес загрузки и загрузить его после завершения загрузки. Когда я запускаю приложение с Debug JS удаленно на нем работает нормально. Когда я отключаю режим отладки, он перестает работать с недопустимым исключением формата. То же самое происходит, когда я работаю на реальном устройстве (как iOS, так и Android)

Данные отклика base64 из React Native Image Picker кажутся правильными

Вот мой код

...
import * as ImagePicker from 'react-native-image-picker'; //0.26.10
import firebase from 'firebase'; //4.9.1
...

handleImagePicker = () => {
    const { me } = this.props;
    const options = {
      title: 'Select pic',
      storageOptions: {
        skipBackup: true,
        path: 'images'
      },
      mediaType: 'photo',
      quality: 0.5,
    };
    ImagePicker.showImagePicker(options, async (response) => {
        const storageRef = firebase.storage().ref(`/profile-images/user_${me.id}.jpg`);

        const metadata = {
          contentType: 'image/jpeg',
        };

        const task = storageRef.putString(response.data, 'base64', metadata);
        return new Promise((resolve, reject) => {
          task.on(
            'state_changed',
            (snapshot) => {
              var progress = (snapshot.bytesTransferred / snapshot.totalBytes) * 100;
              console.log('Upload is ' + progress + '% done');
            },
            (error) =>
              console.log(error),
            () => {
              this.onChangeProfileImage();
            }
          );
        });
     }
}

onChangeProfileImage = async () => {
    const { me } = this.props;

    const storageRef = firebase.storage().ref(`/profile-images/user_${me.id}.jpg`);

    const profileImageUrl = await new Promise((resolve, reject) => {
      storageRef.getDownloadURL()
      .then((url) => {
        resolve(url);
      })
      .catch((error) => {
        console.log(error);
      });
    });


  // some more logic to store profileImageUrl in the database

  }

Есть идеи, как это решить?

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос