【问题标题】:Firebase Storage: To use ref(service, url), the first argument must be a Storage instanceFirebase Storage:要使用 ref(service, url),第一个参数必须是 Storage 实例
【发布时间】:2022-01-06 11:32:38
【问题描述】:

我在从 Firebase 存储中检索图像时遇到问题。我目前正在我的 expo react 本机项目中集成 Firebase SDK。我使用的 Firebase 的 sdk 版本是 9.6.1。 我可以成功使用 Firebase AUTH 和 firebase firestore(检索和更新数据)。

当我尝试使用 firebase 的存储时,我收到了这个奇怪的错误:

[未处理的承诺拒绝:FirebaseError:Firebase 存储:使用 ref(service, url),第一个参数必须是一个 Storage 实例。 (存储/无效参数)]

这是我初始化我的 firebase 应用程序的地方:

import { initializeApp } from "firebase/app";

export const firebaseConfig = {
  apiKey: "apices",
  authDomain: "xxxxx.firebaseapp.com",
  databaseURL:
    "https://xxxxx-default-rtdb.europe-west1.firebasedatabase.app",
  projectId: "xxxxx",
  storageBucket: "xxxxx.appspot.com",
  messagingSenderId: "333333333",
  appId: "yyyyyyyyyyy",
  measurementId: "fffffff",
};

const app = initializeApp(firebaseConfig);

export { app };

然后做一个简单的:

const imageRef = ref(getStorage(), imageUrl);

给我一​​个错误。是的 imageUrl 是一个有效的 gs://projectid.appspot.com/folder1/image1.jpg url。

我是不是搞错了?

【问题讨论】:

    标签: javascript firebase react-native expo firebase-storage


    【解决方案1】:

    您能否尝试在初始化 Firebase 的同一文件中初始化存储,然后在需要的地方导入它? getStorage() 目前可能会在 Firebase 初始化之前被调用:

    const app = initializeApp(firebaseConfig);
    const storage = getStorage(app)l
    
    export { app, storage };
    
    // import { storage } from "../firebase_file.js"
    
    const imageRef = ref(storage, imageUrl);
    

    【讨论】:

    • 它仍然给我同样的问题
    • @L_Cleo 你可以尝试重启开发服务器吗?
    • 是的对不起,重新启动开发服务器完成了这项工作,现在我遇到了一个新问题,但这似乎更容易解决。谢谢
    猜你喜欢
    • 2021-10-02
    • 2021-12-18
    • 2021-08-16
    • 2018-05-28
    • 2019-04-04
    • 2021-01-29
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多