Web Firebase从表中的存储到显示下载图像的URL

时间:2017-01-12 03:36:43

标签: javascript firebase firebase-realtime-database firebase-storage

我想从Firebase存储中下载图片,但我希望它是表格中的按钮,但我不知道该怎么做?以下是我的JS:

    var email = sessionStorage.getItem("email");
var rootRef = firebase.database().ref().child("users");
rootRef.on("child_added", snap => {

    var medname = snap.child("MedName").val();
    var description = snap.child("description").val();
    var end = snap.child("End").val();
    var start = snap.child("Start").val();
    var type = snap.child("Type").val();
    var file = snap.child("fileName").val();

var storageRef = firebase.storage.ref("users/file");
storageRef.getDownloadURL().then(function(url) {
  window.alert(url);
});
$("#demo").append("<tr><td>"+ medname +"</td><td>" + description + 
                        "</td><td>"+ type + "</td><td>" + start + 
                        "</td><td>" + end +"</td><td></td></tr>");    
});

文件名保存到数据库file.name,然后我检索特定的file.name,我想从存储中获取该图像的URL下载并显示给用户在桌子上。

1 个答案:

答案 0 :(得分:1)

由于必须从Firebase存储服务器加载图片网址,因此可能需要一些时间。处理此延迟的最简单方法是只在URL可用时将行添加到表中:

var storageRef = firebase.storage.ref("users/file");
storageRef.getDownloadURL().then(function(url) {
    $("#demo").append("<tr><td>"+ medname +"</td><td>" + description + 
                            "</td><td>"+ type + "</td><td>" + start + 
                            "</td><td>" + end +"</td><td> " + url + "</td></tr>");    
    });
});