2017-08-17 6 views
0

私はfirebaseとangular2を使用しています。firebaseのストレージバケットにある画像に、画像の直接URLでアクセスするのに疲れました。セキュリティ上のエラーが発生しましたが、アドレスバーに入力したときに同じ画像をブラウザで直接見ることができます。Angular2Fireストレージ内の画像にアクセスする

<img src="gs://img url in firebase storage"> 

それはその後、私はリンクAngular2Fire Image accessを、以下の方法を試してみました次のエラーに enter image description here

を与えます。しかし、それは私にURLアクセスの代わりにオブジェクトを返します。

TS:

recommendedListBind(list){ 
list.forEach(lists => { 
    const storageRef = firebase.storage().ref().child(lists.thumbnail); 
    let thumbnail = storageRef.getDownloadURL().then(url => url); 

    let Detail = { 
     title : lists.title, 
     thumbnail : thumbnail, 
    } 

    this.recommendedList.push(Detail); 
    }); 
}; 

はHTML:

<ul> 
    <li *ngFor="let List of recommendedList"> 
    <div class='cards'> 
     <img src={{List.thumbnail}} alt={{List.title}} title={{List.title}} /> 
    </li> 
</ul> 

これは、次のメッセージが得られます。 enter image description here

をfirebaseストレージ内の画像にアクセスするための正しいアプローチは何ですか?

答えて

1

Firebase Storage APIを使用する場合、認証を実装するか、認証を必要とせず、コンソールで取り消すことができるトークンに基づいたダウンロードURLを使用できます。

([こちら]が見つかります。http次にあなたがdownloadUrlを使用する必要がありますあなたはThe Google Firebase Storage Security Documentation上と

+0

が認証を使用していないAngularFire2 githubの上で認証の詳細を見つけることができ、およびストレージはすべて – Prabhakaran

+1

のために読んで開かれています: //imgur.com/a/NO78c) –

+0

私が取り消した場合、私は画像を使用することができないということを知っていますか?そして、ダウンロードイメージURLを使用することは、ストレージがすべて読み込みに開かれているのでセキュリティ上の脅威になるでしょうか? – Prabhakaran

関連する問題