2017-01-12 8 views
0

Firebaseストレージからイメージをダウンロードしたいが、それをテーブルのボタンにしたいが、どうやったらいいかわからない?以下は私のJSです:Web Firebaseストレージからテーブルに表示するイメージのダウンロードURLを取得

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のダウンロードを取得しにそれを表示することを取得テーブル内のユーザ。

+0

[警告'#demo'に追加する](http://stackoverflow.com/search?q=%5Bhtml%5D%5Bjavascript%5D+add+image+to+table)?それとも[ボタンに画像を表示するか]ですか(http://stackoverflow.com/search?q=%5Bhtml%5D%5Bjavascript%5D+show+image+on+button)? –

+0

@Frank van Puffelenテーブルに画像を表示する方法 – SpiderMonkey

答えて

0

イメージURLはFirebase Storageサーバーからロードする必要があるため、時間がかかることがあります。この遅延を処理する最も簡単な方法は、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>");  
    }); 
}); 
関連する問題