gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 15:38:25 26 4
gpt4 key购买 nike

首先我创建一个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这是真的.....但这正是我想正确上传它的原因:)

最佳答案

  • 如果文件路径看起来像 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;
    }
  • 如果您有类似 rct-image-store://0 的路径.您必须编写它,然后才能获取本地路径图像。之后上传本地镜像作为案例 1
  •   ImageStore.getBase64ForTag(
    rctFileURI, // rct-image-store: path
    (base64Image) => {
    const imagePath = `${RNFS.DocumentDirectoryPath}/${new Date().getTime()}.jpg`;
    RNFS.writeFile(imagePath, `${base64Image}`, 'base64')
    .then((success) => {
    // now your file path is imagePath (which is a real path)
    if (success) {
    // upload with imagePath, same as the 1
    }
    })
    .catch(() => {});
    },
    () => {},
    );

    关于firebase - React Native - 将图像上传到 Firebase 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58785194/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com