Comment stocker et visualiser des images sur Firebase?
Comment stocker et visualiser des images sur Firebase?
Réponses:
Mise à jour (20160519) : Firebase vient de publier une nouvelle fonctionnalité appelée Firebase Storage . Cela vous permet de télécharger des images et d'autres données non JSON vers un service de stockage dédié. Nous vous recommandons vivement de l'utiliser pour stocker des images, au lieu de les stocker en tant que données encodées en base64 dans la base de données JSON.
Vous le pouvez certainement! Selon la taille de vos images, vous avez deux options:
1. Pour des images plus petites (moins de 10 Mo)
Nous avons un exemple de projet qui le fait ici: https://github.com/firebase/firepano
L'approche générale consiste à charger le fichier localement (à l'aide de FileReader) afin que vous puissiez ensuite le stocker dans Firebase comme vous le feriez pour toute autre donnée. Étant donné que les images sont des fichiers binaires, vous souhaiterez obtenir le contenu encodé en base64 afin de pouvoir le stocker sous forme de chaîne. Ou encore plus pratique, vous pouvez le stocker sous forme de données: url qui est alors prêt à apparaître comme le src d'une balise img (c'est ce que fait l'exemple)!
2. Pour des images plus grandes
Firebase a une limite de 10 Mo (de données de chaîne encodées en utf8). Si votre image est plus grande, vous devrez la diviser en morceaux de 10 Mo. Vous avez raison cependant, Firebase est plus optimisé pour les petites chaînes qui changent fréquemment plutôt que pour les chaînes de plusieurs mégaoctets. Si vous avez beaucoup de grandes données statiques, je recommanderais certainement S3 ou un CDN à la place.
Oui, vous pouvez stocker et afficher des images dans Firebase. Vous pouvez utiliser un sélecteur de fichiers pour obtenir le fichier image. Ensuite, vous pouvez héberger l'image comme vous le souhaitez, je préfère Amazon s3. Une fois l'image hébergée, vous pouvez l'afficher à l'aide de l'URL générée pour l'image.
J'espère que cela t'aides.
J'ai fini par stocker moi-même les images au format base64. Je les convertis à partir de leur valeur base64 lorsqu'ils sont rappelés depuis Firebase.
Vous pouvez également utiliser un service appelé Filepicker
qui stockera votre image sur leurs serveurs et Filepicker, qui s'appelle désormais Filestack, vous fournira une URL vers l'image. Vous pouvez alors stocker l'URL dans Firebase.
Il y a plusieurs façons de faire. J'ai d'abord fait comme Grendal2501. Je l'ai ensuite fait de manière similaire à user15163, vous pouvez stocker l'URL de l'image dans la base de feu et héberger l'image sur votre hôte de base de feu ou également Amazon S3;
L'utilisation de la chaîne Base64 dans JSON sera très lourde. L'analyseur doit faire beaucoup de travail lourd. Actuellement, Fresco ne prend en charge que les supports de base Base64. Mieux vaut mettre quelque chose sur Amazon Cloud ou Firebase Cloud. Et obtenez une image en tant qu'URL. Pour que vous puissiez utiliser Picasso ou Glide pour la mise en cache.