Firebase存储getDownloadUrl()“不是函数”

Tho*_*hoe 3 javascript angularjs firebase firebase-storage

let storage = firebase.storage();
let storageRef = storage.ref("EnglishVideos/" + movieTitle + "/" + movieTitle + "_full.mp4");
    console.log(storageRef); // looks OK, no error messages
Run Code Online (Sandbox Code Playgroud)

上面的代码有效,从Firebase存储返回的对象具有正确的位置,没有错误消息。

但是getDownloadUrl()不起作用:

let myURL = storageRef.getDownloadUrl();
console.log(myURL); // TypeError: storageRef.getDownloadUrl is not a function
Run Code Online (Sandbox Code Playgroud)

错误是TypeError: storageRef.getDownloadUrl is not a function。似乎是原型链错误。我正在使用AngularJS,也许我没有在控制器中注入必要的依赖项?我注入$firebaseStorage了控制器,但没有帮助。我从该控制器对Firebase Realtime Database的调用工作正常。

Tho*_*hoe 5

这getDownloadURL,不是getDownloadUrl。大写。我的工作代码是

var storageRef = firebase.storage().ref("EnglishVideos/" + movieTitle + "/" + movieTitle + "_full.mp4");
  storageRef.getDownloadURL().then(function(url) {
    console.log(url);
  });
Run Code Online (Sandbox Code Playgroud)

“ 正式 ”版本是

var storageRef = firebase.storage.ref("folderName/file.jpg");
storageRef.getDownloadURL().then(function(url) {
  console.log(url);
});
Run Code Online (Sandbox Code Playgroud)

请注意,我需要一个()after storage,即storage()。