React Native-将图像上传到Firebase存储

问题描述 投票:0回答:1

首先创建一个Blob文件

  RNFetchBlob.fs.readFile(localImgUrl2, 'base64')
    .then(base64ImageStr => Blob.build('image.png', base64ImageStr, { type: 'image/png;BASE64' }))

......然后我尝试上传到Firebase

    .then((data) => {FBStorageRef.put(data, { contentType: mime })})

...但是它给了我错误

Firebase Storage: Object 'profilePics/image.png' does not exist

我相信它的FBStorageRef与它的牛肉在一起.....我的云存储完全空了,我想创建一个名为profilePics的文件夹....以及我要调用的文件image.png

const FBStorageRef = Firebase.storage().ref('/profilePics/image.png');

它说的profilePics/image.png doe not exist足够真实.....但这就是我要正确上传它的原因:)

firebase react-native firebase-storage
1个回答
0
投票

如果文件路径看起来像file:///...。您可以简单地将其放入Firebase函数中,不需要readFile步骤。

我的代码到目前为止可以正常工作:


  static uploadProfileAvatar(userID, fileURI) { // file URI is a path of a local image
    const updateTime = moment().unix();
    const storagePath = `${PROFILE_AVATAR_PATH}/${userID}_${updateTime}.jpg`;
    const fileMetaData = { contentType: 'image/jpeg' };
    return FirebaseStorage.uploadFile(fileURI, storagePath, fileMetaData);
  }

  static uploadFile(fileURI, storagePath, fileMetaData = null) {
    const uploadTask = firebase.storage().ref().child(storagePath).put(fileURI, fileMetaData);
    return uploadTask;
  }
© www.soinside.com 2019 - 2024. All rights reserved.