2016-12-26 7 views
0

この質問の結果を複製しようとしていますhere。有効なデータベースの子にgetDownloadURL()を呼び出すことはできますが、返される結果はIMGのsrcに設定されていないようです。Firebase getDownloadURLからImg Srcを設定することができません

dataArray.push(pulledProfileImage) 

が、他の情報と一緒に(配列を送信:

var storage = firebase.storage(); 
var storageRef = storage.ref(); 
var imgRef = storageRef.child('profile-pictures/1.jpg'); 
var pulledProfileImage = imgRef.getDownloadURL(); 

私はこれを行うことによって配列にpulledProfileImageを押す: これは私が現在試してみて、ダウンロードURLをつかむために使用していたコードです)をオフにして、テーブルにデータを設定する関数に渡します。画像自体は、ここでは、このコードを使用して参照される:コードが実行された後、私はソースコードをチェックする

cell1.innerHTML = '<img id="profileImage" src="'+dataArray[0]+'">'; 

は、src[Object, Object]に設定されています。 console.log(Array[0].Wb)を呼び出して、私は別のプロパティをコンソールプリントアウトしている場合

0:C 
Hc:false 
N:2 
Pa:null 
Wb:false 
ja:null 
na:"https://firebasestorage.googleapis.com/v0/b/app-name-da7a1.appspot.com/..." 
s:null 

は奇妙なことは、上記のリストからWb言っている:私もそれがそうするとき、次のようになり、結果をログに記録するスクリプトを持っていますfalseを完璧に印刷します。すべてのブール値は文字列や数値ではなく、ちょうど良いと思われます。プルするイメージの名前を見つけるために

----root 
    | 
    |------profile-pictures 
      |---------------------- img1.png <--the console is trying to print this one 
      | 
      |---------------------- img2.png 

そして、私のデータベース構造それほどのようなものです::参考

、私のストレージ構造は、次のようになります

----root 
    | 
    |----folder1 
      | 
      | 
      |----subfolder1 
        | 
        | 
        |----subfolder2 
          | 
          | 
          |--------img1.png 
          | 
          |--------img2.png 

基本的に私のコードはにナビゲートサブフォルダ2は、子の値を引っ張って、ストレージに入り、そこでそこから引き抜こうとしました。

var storage = firebase.storage(); 
var storageRef = storage.ref(); 
var imgRef = storageRef.child('profile-pictures/1.jpg'); 
// call .then() on the promise returned to get the value 
imgRef.getDownloadURL().then(function(url) { 
    var pulledProfileImage = url; 
    dataArray.push(pulledProfileImage); 
}); 

ローカルに動作しますが、URLのそのリストは、すべての間で同期されません。ここに

+0

[問題を再現する最小限の完全なコード](http://stackoverflow.com/help/mcve)を共有してください。あなたが今共有したスニペットは、あまりにも多くの想像力を残します。コードはおそらくデータベースのJSON構造にも依存しているので、その代表的な抜粋(テキストとして、スクリーンショットなし)も含めてください。 –

+0

フランク、あなたのお返事ありがとうございます。私は質問を変えました。メールの問題は、 'boolean'値だけが参照時に印刷できることですが、' numbers'と 'strings'は印刷できません。ありがとう! – Ethan

+0

あなたはまだ[問題を再現する最小の完全なコード](http://stackoverflow.com/help/mcve)を共有していませんでした。このような[MCVE](http://stackoverflow.com/help/mcve)を質問に含めると、助けを受ける可能性は非常に高くなります。 –

答えて

3

トリックはgetDownloadURLは(the docsあたりなど)の約束を返すために起こる非同期機能があるということですブラウザ。代わりに、あなたが望むのは、URLを同期するためにデータベースを使用することです.Zero To App(videocode)のようにします。

+0

このスクリプトはPHPで利用できますか?私はPHPで使用したい。 –

+0

PHPは、自分のサーバー上で動作するバックエンド言語ですが、私たちはJavaScriptをクライアント上で直接実行しています。彼らは2つの全く異なるものなので、直接の比較ではありません。 –

関連する問題