let storage = firebase.storage();
let storageRef = storage.ref("EnglishVideos/" + movieTitle + "/" + movieTitle + "_full.mp4");
console.log(storageRef); // looks OK, no error messages
上面的代码有效,从Firebase Storage返回的对象具有正确的位置,没有错误消息。
但是
getDownloadUrl()
不起作用:let myURL = storageRef.getDownloadUrl();
console.log(myURL); // TypeError: storageRef.getDownloadUrl is not a function
错误是
TypeError: storageRef.getDownloadUrl is not a function
。似乎是原型(prototype)链错误。我正在使用AngularJS,也许我没有在 Controller 中注入(inject)必要的依赖项?我将$firebaseStorage
注入(inject)到 Controller 中,但没有帮助。我从该 Controller 对Firebase Realtime Database的调用工作正常。 最佳答案
它是getDownloadURL
,而不是getDownloadUrl
。大写。我的工作代码是
var storageRef = firebase.storage().ref("EnglishVideos/" + movieTitle + "/" + movieTitle + "_full.mp4");
storageRef.getDownloadURL().then(function(url) {
console.log(url);
});
“official”版本是
var storageRef = firebase.storage.ref("folderName/file.jpg");
storageRef.getDownloadURL().then(function(url) {
console.log(url);
});
请注意,我需要在
()
之后添加一个storage
,即storage()
。