Firebase 存储错误:404 - ACCESS_BUCKET

2023-12-30

我正在尝试将图像上传到 Firebase 存储。当我尝试上传图像时,出现 404 错误,但我已在 firebase 中创建了存储。

Firebase npm 版本:firebase": "^7.24.0

Error:

code: 404
message: "Not Found.  Could not access bucket \"<project>.appspot.com\""
status: "ACCESS_BUCKET"

存储规则:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if true;
    }
  }
}

Firebase 初始化:

const app = firebase.initializeApp({
  apiKey: process.env.REACT_APP_FIREBASE_KEY,
  authDomain: process.env.REACT_APP_FIREBASE_DOMAIN,
  projectId: process.env.REACT_APP_FIREBASE_PROJECT_ID,
  storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
  messagingSenderId: process.env.REACT_APP_FIREBASE_SENDER_ID,
  appId: process.env.REACT_APP_FIREBASE_APP_ID,
  measurementId: process.env.REACT_APP_FIREBASE_MEASUREMENT_ID
});

export const analytics = app.analytics();
export const storage = firebase.storage();
export default app;

服务JS:

export async function uploadImageCloud(image){
    const storageRef = storage.ref("image/" + image.name);
    return storageRef.put(image);
}

上传功能:

function uploadImage(){
        setDataImageUploading(true);
        uploadImageCloud(getDataImage).then((data)=>{
            console.log(data);
            setDataImageUploading(false);
        }).catch((e)=>{
            console.log(e);
            setDataImageUploading(false);
        });
    }

知道我哪里搞砸了吗?


我遇到了同样的问题,最后我发现了storageBucket传递给initializeApp是非常敏感的数据。它应该是exactly顶部文件上的存储桶名称(不带 gs://):

例如在这个项目中它是steem-engine-dex.appspot.com.

const app = firebase.initializeApp({
  //...
  storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
  //...
});

重要的:

  • 存储桶是区分大小写。例如steem-engine-dex.appSpot.com 无效

  • storageBucket 不应在开头或结尾包含任何额外空间。例如steem-engine-dex.appspot.com and steem-engine-dex.appspot.com无效

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Firebase 存储错误:404 - ACCESS_BUCKET 的相关文章

随机推荐