2016-07-17 196 views
10

Ho iniziato a utilizzare firebase (Firebase per il web) per il mio back-end. Posso gestire abbastanza bene il database in tempo reale di Firebase, ma non capisco chiaramente come Firebase Storage (per immagini, video, ecc.) Funzioni.storage firebase - ottenendo l'URL dell'immagine

Fondamentalmente mi piacerebbe avere qualche lista di notizie sul mio sito web ogni articolo con qualche piccola immagine. Così ho caricato queste immagini su Firebase Storage, ma come posso accedere al loro URL (ne ho bisogno per il mio attributo src <img/>)?

+0

Hai controllato questa pagina della documentazione? https://firebase.google.com/docs/storage/android/download-files#download_data_via_url –

+0

Oppure stai chiedendo come ottenere un elenco di tutte le immagini nel bucket di Firebase Storage? Perché al momento non ci sono API per questo. Vedi http://stackoverflow.com/questions/37335102/how-to-get-an-array-with-all-pictures –

+0

La mia idea era di ottenere l'elenco delle immagini in una cartella specifica e quindi ottenere l'URL di ogni immagine e usarlo per il mio tag . Un'altra cosa, sto usando Firebase per il web, non per Android, suppongo che dovrei scriverlo, mi dispiace così tanto. – exoslav

risposta

5

Lo storage di Firebase funziona in modo simile durante l'estrazione dei dati. Sebbene ci siano diversi modi per recuperare. Uno dei fattori più importanti è il modo in cui si salvano i dati. In base al quale sarai in grado di recuperarli.

Qui:

storageRef.child("users/me/profile.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { 
    @Override 
    public void onSuccess(Uri uri) { 
     // Got the download URL for 'users/me/profile.png' 
    } 
}).addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception exception) { 
     // Handle any errors 
    } 
}); 

// Alternatively way to get download URL 
storageRef.child("users/me/profile.png").getDownloadUrl().getResult(); 

La posizione del bambino è molto importante e che dovrebbe essere una parte del vostro login.

Per esempio in una struttura notizie, può essere:

storageRef.child("newsID/articleimage/image.jpg") 

NewSID - id unico per ogni articolo. IMPORTANTE! quando crei il tuo articolo per ottenere immagini separate. e che "image.jpg" può essere scaricato in vari modi come spiegato qui: Documentation.

+0

Grazie, ha aiutato anche se è per Android! Ora sono in grado di ottenere l'URL di un'immagine specifica. Ma posso ottenere un riferimento alla cartella con più immagini e quindi eseguire il loop della cartella e ottenere l'URL di ogni immagine? È possibile? – exoslav

+0

Sicuramente, a patto di conoscere ogni nome di file. Quindi puoi semplicemente creare una logica per scaricarne una dopo l'altra. –

+0

Come ottengo l'URL dell'ultima immagine caricata? quindi ad esempio carica un'immagine mentre l'immagine viene caricata nel metodo di successo. Posso ottenere questo riferimento e memorizzarlo in un'altra tabella? – Smac