putFile не является функцией - PullRequest
0 голосов
/ 01 марта 2020

Я новичок в React Native и пытаюсь создать приложение для благотворительности.

У меня возникают проблемы при попытке сохранить изображения, снятые камерой, в хранилище Firebase.

фрагмент кода находится ниже, и, глядя на журналы консоли, все выглядит так, как я и ожидал, также ниже.

Я получаю ошибку «imageRef.Putfile не является функцией».

Любая помощь будет принята с благодарностью.

ВЫХОД ИЗ КОНСОЛЬНОГО ЛОГА

ref, image, imageName breadalert-86646.appspot.com file:///data/user/0/host.exp.exponent/cache/ExperienceData/%2540anonymous%252Frn-complete-guide-10d15822-a070-46a4-a2a0-98550f263c74/ImagePicker/8211188f-6bf4-4aaf-a3ba-e187b1e3707f.jpg CKhLXQlDUtUvKotCYQmJLmOeI1s247
getting storage ref of breadalert-86646.appspot.com
firebaseStorageRef is gs://breadalert-86646.appspot.com/
Image is gs://breadalert-86646.appspot.com/CKhLXQlDUtUvKotCYQmJLmOeI1s247
Image Path is file:///data/user/0/host.exp.exponent/cache/ExperienceData/%2540anonymous%252Frn-complete-guide-10d15822-a070-46a4-a2a0-98550f263c74/ImagePicker/8211188f-6bf4-4aaf-a3ba-e187b1e3707f.jpg

ФРАГМЕНТЫ КОДА

 saveImage = (ref, image, imageName, onSuccess, onError) => {


  console.log ('ref, image, imageName ' + ref + ' ' + image + ' ' + imageName);
  console.log ('getting storage ref of ' + ref);

  firebaseStorageRef = firebase.storage().ref();

  console.log ('firebaseStorageRef is ' + firebaseStorageRef);

  imageRef = firebaseStorageRef.child(imageName);
  console.log ('Image is ' + imageRef);
  console.log ('Image Path is ' + image);



  imageRef.putFile (image.path, {contentType: 'image/jpeg'}).then(function(){
      return imageRef.getDownloadURL();
  }).then(function(url){
    console.log ("Image url", {url:url});
      onSuccess(url);
  }).catch(function(error){
    console.log ("Error while saving the image.. ", error);
      onError(error);
  });
}

1 Ответ

1 голос
/ 01 марта 2020

Ваш imageRef является объектом типа Reference . Взгляните на связанную документацию API - в ней нет метода с именем putFile(). Это то, о чем говорится в сообщении об ошибке.

Если вы хотите загрузить файл, вам следует использовать метод с именем put () , как описано в документации .

...