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()

08-19 14:38