Come archiviare e visualizzare le immagini su Firebase?
Come archiviare e visualizzare le immagini su Firebase?
Risposte:
Aggiornamento (20160519) : Firebase ha appena rilasciato una nuova funzionalità chiamata Firebase Storage . Ciò consente di caricare immagini e altri dati non JSON su un servizio di archiviazione dedicato. Si consiglia vivamente di utilizzarlo per l'archiviazione delle immagini, invece di memorizzarle come dati codificati in base64 nel database JSON.
Certamente puoi! A seconda di quanto sono grandi le tue immagini, hai un paio di opzioni:
1. Per immagini più piccole (meno di 10 MB)
Abbiamo un progetto di esempio che lo fa qui: https://github.com/firebase/firepano
L'approccio generale è caricare il file localmente (utilizzando FileReader) in modo da poterlo archiviare in Firebase proprio come faresti con qualsiasi altro dato. Poiché le immagini sono file binari, ti consigliamo di ottenere i contenuti con codifica base64 in modo da poterli archiviare come stringa. O ancora più conveniente, puoi memorizzarlo come un dato: url che è quindi pronto per essere inserito come src di un tag img (questo è ciò che fa l'esempio)!
2. Per immagini più grandi
Firebase ha un limite di 10mb (di dati stringa codificati in utf8). Se la tua immagine è più grande, dovrai dividerla in blocchi da 10 MB. Hai ragione però che Firebase è più ottimizzato per stringhe di piccole dimensioni che cambiano frequentemente anziché per stringhe multi-megabyte. Se hai molti dati statici di grandi dimensioni, consiglierei sicuramente S3 o un CDN.
Sì, è possibile archiviare e visualizzare immagini in Firebase. È possibile utilizzare un filepicker per ottenere il file di immagine. Quindi puoi ospitare l'immagine come preferisci, preferisco Amazon s3. Una volta ospitata l'immagine, è possibile visualizzare l'immagine utilizzando l'URL generato per l'immagine.
Spero che questo ti aiuti.
Ho finito per memorizzare le immagini nel formato base64 me stesso. Le traduco dal loro valore base64 quando richiamate da firebase.
Puoi anche usare un servizio chiamato Filepicker
che memorizzerà la tua immagine sui loro server e Filepicker che ora è chiamato Filestack, ti fornirà un URL all'immagine. Puoi quindi archiviare l'URL su Firebase.
Ci sono un paio di modi di fare che ho fatto per la prima volta come Grendal2501. L'ho fatto in modo simile all'utente 15163, è possibile archiviare l'URL dell'immagine nella base del fuoco e ospitare l'immagine sull'host della base del fuoco o anche Amazon S3;
L'uso della stringa Base64 in JSON sarà molto pesante. Il parser deve fare molto lavoro pesante. Attualmente, Fresco supporta solo supporti di base Base64. Meglio mettere qualcosa su Amazon Cloud o Firebase Cloud. E ottieni un'immagine come URL. In modo da poter utilizzare Picasso o Glide per la memorizzazione nella cache.