Как загрузить изображение, снятое React-Native-camera, в хранилище Firebase?

  takePicture = async function() {
    if (this.camera) {
      const options = { quality: 0.5, base64: true, mirrorImage: true };
      const data = await this.camera.takePictureAsync(options)

      this.setState({path: data.uri})
    }

  }

takePicture - это функция для захвата изображения. Теперь я хочу сохранить захваченное изображение и загрузить его в хранилище Firebase.

this.setState ({path: data.uri}) обновляет путь к местоположению кликаемого изображения.

Как я могу использовать встроенный BLOB-пакет для загрузки своего изображения в хранилище Firebase? Пожалуйста помоги

В настоящее время я использую реагирующую родную камеру - ^1.6.3 и firebase - ^5.0.3

1 ответ

Вы можете использовать этот пример кода, чтобы загрузить свою фотографию в конкретный API.

var data = new FormData();

data.append('file', { uri: data.uri, name: 'picture.jpg', type: 'image/jpg' });
// Create the config object for the POST
    const config = {
        method: 'POST',
        body: data
    };
    fetch('URL', config).then(responseData => {
        // Log the response form the server // Here we get what we sent to Postman 
     back
        console.log(responseData);
    })
    .catch(err => { console.log(err); });

Надеюсь, это поможет вам.

async function uploadFile() {
    const data = new FormData();

    data.append('file', { uri: data.uri, name: 'anyname.jpg', type: 'image/jpg' });

    const response = await axios.post('URL', data);

    const { id, url } = response.data;

}

Это сработало, спасибо.

Другие вопросы по тегам