我正在尝试在存储在 Firebase 存储中的 Vue/Quasar 项目中显示图像。我遵循了文档中的每一步。每次使用 getDownloadURL() 方法时,都会收到此错误“无法读取未定义的属性 'getdownloadURL'”。有谁知道为什么我的代码不起作用?
我还尝试了 Firebase 文档中的所有其他方法,但遇到了同样的错误。
<块引用>storage.refFromURL('gs://bucket/images/stars.jpg')
Firebase.js 文件
import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/storage";
const firebaseApp = firebase.initializeApp({
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
});
const db = firebaseApp.firestore();
const storage = firebase.storage();
const ref = storage.ref("03.png");
export { db, storage, Ref };
我的 vue 组件文件
import ref from "@/firebase.js";
import storage from "@/firebase.js";
import db from "@/firebase.js";
export default {
name: "Home",
components: {
CreateCharacter,
},
date() {
return {
img: "",
};
},
created() {
console.log(Ref);
console.log(storage);
console.log(db);
},
methods: {
handle() {
Ref.getdownloadURL().then((url) => {
console.log(url);
});
},
},
};
答案 0 :(得分:1)
外壳很重要。大写和小写被认为是不同的。 ref
和 getDownloadURL
。
此外,您的 import
可能需要一些工作。
我认为应该是这样的:
import firebase from "firebase/app";
import "firebase/firestore";
import "firebase/storage";
const firebaseApp = firebase.initializeApp({
apiKey: "",
authDomain: "",
databaseURL: "",
projectId: "",
storageBucket: "",
messagingSenderId: "",
appId: "",
measurementId: ""
});
const db = firebaseApp.firestore();
const storage = firebase.storage();
const ref = storage.ref("03.png");
export { db, storage, ref }; // *** changed, needs to match casing of `const`
还有:
import { db, storage, ref } from "@/firebase.js"; // *** changed, destructure object
// *** rather than using multiple imports
export default {
name: "Home",
components: {
CreateCharacter,
},
date() {
return {
img: "",
};
},
created() {
console.log(ref); // *** changed, fix casing
console.log(storage);
console.log(db);
},
methods: {
handle() {
ref.getDownloadURL().then((url) => { // *** changed, fix casing
console.log(url);
});
},
},
};