我一直在爲這個問題苦苦掙扎數日。 我試圖在我的網絡應用中使用Firebase存儲,「上傳」部分工作正常,而且我喜歡它,但「下載」部分讓我發瘋。 這裏是我的代碼:如何根據Firebase數據的參考信息從Firebase存儲中下載圖像文件
首先我有我的火力地堡(數據)參考:
var refspaedtServ = new Firebase(FBURLSPA + $routeParams.id);
$scope.spaedServ = $firebaseObject(refspaedtServ);
我發現了一個ID中我的紀錄。 其次,我讓我的對象領域叫「照片」,是我想下載或顯示
var lafoto = '';
refspaedtServ.on("value", function(rootSnapshot) {
lafoto = rootSnapshot.val().foto;
console.log("Inside image ", lafoto)
});
所以在這裏我得到的照片的名字照片的名稱。 由於這是異步通信,我是無法得到的價值,所以我插入一個超時功能:
setTimeout(function(){
console.log("outside ", lafoto);
$scope.lafoto = lafoto
}, 1000);
所以這裏的時刻設定功能裏面,是「lafoto」值確定。 然後,我讓我的火力地堡貯存桶的refrence:
var storageRef = firebase.storage().ref();
var starsRef = storageRef.child('fotos' + lafoto);
這纔是我的「問題」,當我試圖下載形象,「lafoto」的價值消失了,URL可以是構建有是沒有約束力的到我的網頁圖像容器,在這裏我想顯示照片
starsRef.getDownloadURL().then(function(url) {
console.log("la url ", url) ;
$scope.url = url;
}).catch(function(error) {
switch (error.code) {
case 'storage/object_not_found';
});
我已經做了一個試驗,留下的setTimeout(函數)內存儲的參考和starsRef.getDownloadURL和它的作品(部分),我url正確創建,但它沒有綁定到我的網頁。 如果我查看console.log,我的網址是好的,同樣如果我點擊它,讓我看看照片。
有什麼建議嗎?
最好的問候,
維克多
有沒有解決此問題的建議? – CaribeSoft