Como armazenar e visualizar imagens no Firebase?

Como armazenar e visualizar imagens no Firebase?

   

Atualização (20160519) : o Firebase acaba de lançar um novo recurso chamado Firebase Storage . Isso permite fazer upload de imagens e outros dados não JSON para um serviço de armazenamento dedicado. É altamente recomendável que você use isso para armazenar imagens, em vez de armazená-las como dados codificados em base64 no database JSON.

Você certamente pode! Dependendo do tamanho das suas imagens, você tem algumas opções:

1. Para imagens menores (abaixo de 10mb)

Nós temos um projeto de exemplo que faz isso aqui: https://github.com/firebase/firepano

A abordagem geral é carregar o arquivo localmente (usando o FileReader) para que você possa armazená-lo no Firebase como faria com qualquer outro dado. Como as imagens são arquivos binários, você desejará obter o conteúdo codificado em base64 para poder armazená-lo como uma string. Ou ainda mais conveniente, você pode armazená-lo como um dado: url, que então está pronto para ser colocado como o src de uma tag img (isto é o que o exemplo faz)!

2. Para imagens maiores

O Firebase tem um limite de 10mb (de dados codificados com utf8). Se sua imagem for maior, você terá que dividi-la em blocos de 10mb. Você está certo, porém, de que o Firebase é mais otimizado para strings pequenas que mudam com frequência, em vez de strings de vários megabytes. Se você tiver muitos dados estáticos grandes, eu definitivamente recomendaria o S3 ou um CDN.

Sim, você pode armazenar e visualizar imagens no Firebase. Você pode usar um filepicker para obter o arquivo de imagem. Então você pode hospedar a imagem como quiser, eu prefiro amazon s3. Quando a imagem estiver hospedada, você poderá exibir a imagem usando o URL gerado para a imagem.

Espero que isto ajude.

Eu acabei armazenando as imagens no formato base64 eu mesmo. Eu os traduzo de seu valor base64 quando chamado de volta do firebase.

Você também pode usar um serviço chamado Filepicker que armazenará sua imagem em seus servidores, e o Filepicker, agora chamado Filestack, fornecerá uma URL para a imagem. Você pode armazenar o URL no Firebase.

Há algumas maneiras de fazer que eu primeiro fiz o jeito que o Grendal2501 fez isso. Eu fiz isso de forma semelhante ao user15163, você pode armazenar o URL da imagem no Firebase e hospedar a imagem no seu host do Firebase ou também no Amazon S3;

Usar a string Base64 em JSON será muito pesado. Parser tem que fazer muito trabalho pesado. O Currenlty Fresco suporta apenas suportes básicos Base64. É melhor você colocar algo no Amazon Cloud ou no Firebase Cloud. E obtenha imagem como um URL. Para que você possa usar o Picasso ou o Glide para fazer o cache.