¿Cómo almacenar y ver imágenes en firebase?
¿Cómo almacenar y ver imágenes en firebase?
Respuestas:
Actualización (20160519) : Firebase acaba de lanzar una nueva característica llamada Firebase Storage . Esto le permite cargar imágenes y otros datos que no sean JSON a un servicio de almacenamiento dedicado. Recomendamos encarecidamente que utilice esto para almacenar imágenes, en lugar de almacenarlas como datos codificados en base64 en la base de datos JSON.
¡Ciertamente puedes! Dependiendo de qué tan grandes sean sus imágenes, tiene un par de opciones:
1. Para imágenes más pequeñas (menos de 10 mb)
Tenemos un proyecto de ejemplo que hace eso aquí: https://github.com/firebase/firepano
El enfoque general es cargar el archivo localmente (usando FileReader) para que luego pueda almacenarlo en Firebase como lo haría con cualquier otro dato. Como las imágenes son archivos binarios, querrás obtener el contenido codificado en base64 para que puedas almacenarlo como una cadena. O incluso más conveniente, puede almacenarlo como un dato: ¡url que luego está lista para ingresar como el src de una etiqueta img (esto es lo que hace el ejemplo)!
2. Para imágenes más grandes
Firebase tiene un límite de 10 mb (de datos de cadena codificados en utf8). Si su imagen es más grande, tendrá que dividirla en trozos de 10 MB. Sin embargo, tienes razón en que Firebase está más optimizado para cadenas pequeñas que cambian con frecuencia en lugar de cadenas de varios megabytes. Si tiene muchos datos estáticos grandes, definitivamente recomendaría S3 o un CDN.
Sí, puedes almacenar y ver imágenes en Firebase. Puede usar un selector de archivos para obtener el archivo de imagen. Entonces puedes alojar la imagen como quieras, prefiero Amazon s3. Una vez que la imagen está alojada, puede mostrar la imagen utilizando la URL generada para la imagen.
Espero que esto ayude.
Terminé almacenando las imágenes en formato base64 yo mismo. Los traduzco de su valor base64 cuando vuelvo a llamar desde firebase.
También puede usar un servicio llamado Filepicker
que almacenará su imagen en sus servidores y Filepicker, que ahora se llama Filestack, le proporcionará una URL de la imagen. Puede almacenar la URL en Firebase.
Hay un par de formas de hacerlo. Primero lo hice como lo hizo Grendal2501. Luego lo hice similar al usuario15163, puede almacenar la URL de la imagen en la base de fuego y alojar la imagen en su host de la base de fuego o también Amazon S3;
Usar la cadena Base64 en JSON será muy pesado. El analizador tiene que hacer mucho trabajo pesado. Actualmente, Fresco solo admite bases compatibles con Base64. Mejor pones algo en Amazon Cloud o Firebase Cloud. Y obtener una imagen como una URL. Para que pueda usar Picasso o Glide para el almacenamiento en caché.