Firebase Storage Error: 404 - ACCESS_BUCKET
Firebase Storage Error: 404 - ACCESS_BUCKET
我正在尝试将图像上传到 Firebase 存储。当我尝试上传图片时,出现 404 错误,但我已经在 firebase 中创建了存储。
Firebase npm 版本:firebase": "^7.24.0
错误:
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);
});
}
知道我哪里搞砸了吗?
我遇到了同样的问题,最后我发现传递给 initializeApp
的 storageBucket
的值是非常敏感的数据。它应该是恰好 顶级文件中的存储桶名称(没有 gs://):
例如在这个项目中是steem-engine-dex.appspot.com
。
const app = firebase.initializeApp({
//...
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
//...
});
重要提示:
storageBucket 区分大小写。例如steem-engine-dex.appSpot.com无效
storageBucket 不应在开头或结尾包含任何额外的 space。例如steem-engine-dex.appspot.com
和 steem-engine-dex.appspot.com
无效
我正在尝试将图像上传到 Firebase 存储。当我尝试上传图片时,出现 404 错误,但我已经在 firebase 中创建了存储。
Firebase npm 版本:firebase": "^7.24.0
错误:
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);
});
}
知道我哪里搞砸了吗?
我遇到了同样的问题,最后我发现传递给 initializeApp
的 storageBucket
的值是非常敏感的数据。它应该是恰好 顶级文件中的存储桶名称(没有 gs://):
例如在这个项目中是steem-engine-dex.appspot.com
。
const app = firebase.initializeApp({
//...
storageBucket: process.env.REACT_APP_FIREBASE_STORAGE_BUCKET,
//...
});
重要提示:
storageBucket 区分大小写。例如steem-engine-dex.appSpot.com无效
storageBucket 不应在开头或结尾包含任何额外的 space。例如
steem-engine-dex.appspot.com
和steem-engine-dex.appspot.com
无效