我是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);
  });
}

最佳答案

您的imageRefReference类型的对象。看看链接的API文档-它没有称为putFile()的方法。这就是错误消息告诉您的内容。

如果要上传文件,则应使用put()中描述的名为documentation的方法。

10-07 23:39