预期的完整网址但是有了子路径,请改用

时间:2018-03-28 15:26:39

标签: javascript firebase error-handling

这与this线程有关,但这是我遇到的一个新问题。我正在尝试将图像添加到HTML中的表格单元格中,并且我将Firebase存储与Firebase数据库结合使用。我的想法是从数据库中的gs://xxxxxxxx路径获取图像并在js中使用它,但我在控制台中收到此错误:

  

Firebase存储:索引0处的refFromURL中的参数无效:预期的完整网址但是有了子路径,请改用ref。“

所以似乎url_ul路径无效。例如,如果我引入'gs:// xxxxxxxx'而不是url_ul,它就像魅力一样。如果我将值url_ul作为文本读取,我就会得到那条路径。但是,如果我在refFromURL('url_ul')

中有该变量,它就不起作用

我有以下js代码:

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

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

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

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

数据库看起来像这样:

enter image description here

所以有一个gs:// xxxxx路径,根据Firebase文档,它应该可以正常工作:

  

//从Google云端存储URI创建引用   var gsReference = storage.refFromURL('gs://bucket/images/stars.jpg')

知道这里有什么问题吗?

为了使事情更清楚:

这条线完美无缺:

var storageRef = storage.refFromURL("gs://nameofapp.appspot.com/armonii_culturale.png").getDownloadURL().then(function(url) ...

但这个不是

var storageRef = storage.refFromURL("url_ul").getDownloadURL().then(function(url) ...

这很奇怪,因为“url_ul”应包含相同的值。

0 个答案:

没有答案