Firebase refFromURL 不是函数

Cur*_*aul 3 javascript firebase firebase-storage

我正在尝试使用 HTML 表格中的 Javascript 从 Firebase 存储中获取一些图像,但我不断收到此错误:

storage.refFromURL is not a function
Run Code Online (Sandbox Code Playgroud)

考虑到这里的信息,这很奇怪

// 从 Google Cloud Storage URI 创建引用 var gsReference = storage.refFromURL('gs://bucket/images/stars.jpg')

javascript 代码也从 Firebase 数据库中获取数据,并且数据库中的每个子项都包含一个 URL(在 db as 中定义imageUrl)以gs://xxxxxxx的形式指向 Firebase 存储,我想在桌子。换句话说,我想从数据库中获取文本,从存储中获取图像,但我不断收到“不是函数”错误。我有以下代码:

索引.js

storage.refFromURL is not a function
Run Code Online (Sandbox Code Playgroud)

以及包含 Firebase 信息的 HTML 文件:

var rootRef = firebase.database().ref().child("Test");
var storage = firebase.storage().ref();

rootRef.on("child_added", snap => {
  var headline = snap.child("headline").val();
  var url_ul = snap.child("imageUrl").val();

  var storageRef = storage.refFromURL('url_ul').getDownloadURL().then(function(url) {
    var test = url;
    alert(url);
    document.querySelector('img').src = test;
  }).catch(function(error) {});

  $("#table_body").append("</td><td>" + headline + "</td><td><img src='test' alt='' border=3 height=100 width=100></td>");
});
Run Code Online (Sandbox Code Playgroud)

Fra*_*len 5

你基本上做:

var storage = firebase.storage().ref();
Run Code Online (Sandbox Code Playgroud)

这给了你一个Reference.

然后你打电话:

storage.refFromURL('url_ul')
Run Code Online (Sandbox Code Playgroud)

refFromURL仅在根Storage对象上定义

所以你会想要:

var storage = firebase.storage();
storage.refFromURL('url_ul')
Run Code Online (Sandbox Code Playgroud)