尝试使用url显示Firebase存储中的图像,但收到错误消息

问题描述 投票:0回答:1

我正在尝试使用文件名显示Firebase存储中的图像。该网址有效,并显示在控制台上。但是我收到以下错误:“”下面是我的代码:

function getFileUrl(filename) {
  var storage = firebase.storage().ref(filename);
  storage.getDownloadURL().then(function(url) {
    console.log(url);
  })
  .catch(function(error) {
    console.log("error encountered");
  });
} 

var img = document.createElement('img');
img.src = getFileUrl(y);
javascript firebase firebase-storage
1个回答
0
投票

您没有从getFileUrl返回任何内容,这意味着您要将img.src设置为undefined。这正是错误消息告诉您的内容。

但是添加简单的return语句是不可能的,因为下载URL是从Firebase异步加载的。需要下载URL的任何代码都必须在then内部或从那里调用。

function createImgForFile(filename) {
  var storage = firebase.storage().ref(filename);
  storage.getDownloadURL().then(function(url) {
    var img = document.createElement('img');
    img.src = getFileUrl(y);
  })
  .catch(function(error) {
    console.log("error encountered");
  });
} 
© www.soinside.com 2019 - 2024. All rights reserved.