Como armazenar e visualizar imagens no firebase?
Como armazenar e visualizar imagens no firebase?
Respostas:
Atualização (20160519) : O Firebase acaba de lançar um novo recurso chamado Firebase Storage . Isso permite carregar imagens e outros dados não JSON em 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 banco de dados JSON.
Você certamente pode! Dependendo do tamanho das suas imagens, você tem algumas opções:
1. Para imagens menores (abaixo de 10mb)
Temos um exemplo de projeto 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 da mesma forma que faria com qualquer outro dado. Como as imagens são arquivos binários, você deseja 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 está pronto para aparecer como o src de uma tag img (é o que o exemplo faz)!
2. Para imagens maiores
O Firebase tem um limite de 10mb (de dados de string codificados em utf8). Se sua imagem for maior, será necessário dividi-la em pedaços de 10 MB. Você está certo, porém, de que o Firebase é mais otimizado para cadeias pequenas que mudam frequentemente, em vez de cadeias de vários megabytes. Se você tiver muitos dados estáticos grandes, eu recomendaria definitivamente o S3 ou uma 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 o Amazon s3. Depois que a imagem estiver hospedada, você poderá exibi-la usando o URL gerado para a imagem.
Espero que isto ajude.
Acabei armazenando as imagens no formato base64. Eu os traduzo de seu valor base64 quando retornados da firebase.
Você também pode usar um serviço chamado Filepicker
que armazenará sua imagem em seus servidores e o Filepicker, que agora é chamado Filestack, fornecerá um URL para a imagem. Você pode armazenar o URL no Firebase.
Existem algumas maneiras de fazer o primeiro que fiz no Grendal2501. Fiz isso de forma semelhante ao user15163, você pode armazenar o URL da imagem na base do firebase e hospedar a imagem no host da firebase ou também no Amazon S3;
O uso da string Base64 no JSON será muito pesado. O analisador precisa fazer muito trabalho pesado. Atualmente, o Fresco suporta apenas suporte básico Base64. Melhor você colocar algo no Amazon Cloud ou Firebase Cloud. E obtenha uma imagem como um URL. Para que você possa usar Picasso ou Glide para armazenamento em cache.