Как загрузить изображение, снятое 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;
}
Это сработало, спасибо.