Qui*_*ice 7 javascript file firebase reactjs google-cloud-platform
我正在 React 上创建一个应用程序,它使用 Firebase 作为后端数据,并希望能够上传图片。当尝试通过 firebase 获取存储引用时,出现以下错误:
每次我尝试获取对存储的引用时,都会收到此错误。我还在 firebase 上使用实时数据库,但我认为这根本不会干扰。下面是调用的代码:
import database, { auth, provider, storage } from '../../components/utils/firebase.js';
import { uploadBytes } from '@firebase/storage';
...
handleSubmit(e) {
e.preventDefault();
const file = e.target[0].files[0];
console.log("File: ", file);
if (!file) {
console.log("No file!");
} else {
const storageRef = ref(storage, `images/${file.name}`);
uploadBytes(storageRef, file);
console.log("Uploaded file!");
console.log("File: " + file);
}
}
Run Code Online (Sandbox Code Playgroud)
firebase.js(我的配置文件):
import { initializeApp } from 'firebase/app';
import { getDatabase } from 'firebase/database';
import { getAuth, GoogleAuthProvider } from 'firebase/auth';
import { getStorage } from 'firebase/storage';
const firebaseConfig = {
apiKey: process.env.REACT_APP_APIKEY,
authDomain: process.env.REACT_APP_AUTHDOMAIN,
databaseURL: process.env.REACT_APP_DATABASEURL,
projectId: process.env.REACT_APP_PROJECTID,
storageBucket: process.env.REACT_APP_STORAGEBUCKET,
messagingSenderId: process.env.REACT_APP_MESSAGINGSENDERID,
appId: process.env.REACT_APP_APPID,
measurementId: process.env.REACT_APP_MEASUREMENTID
};
// Initialize Firebase
const app = initializeApp(firebaseConfig);
const database = getDatabase(app);
export const storage = getStorage(app);
export default database;
export const auth = getAuth(app);
export const provider = new GoogleAuthProvider();
Run Code Online (Sandbox Code Playgroud)
有谁知道为什么会发生这种情况?谢谢你!
Qui*_*ice 13
我在观看某人设置存储桶的视频时发现了这个问题。
本质上,因为我已经在使用ref实时数据库,并从实时数据库文件夹导入该命令,所以我的存储引用实际上是实时数据库引用。为了解决这个问题,我导入了存储ref函数,如下所示:
import { ref as sRef } from 'firebase/storage';
然后用sRef代替ref.
希望这对遇到同样问题的人有所帮助!追捕过程令人沮丧
| 归档时间: |
|
| 查看次数: |
8729 次 |
| 最近记录: |