Comment stocker et afficher des images sur firebase ?
C'est génial. Avez-vous déjà rencontré une limitation de la taille des fichiers ? Je ne pense pas que Firebase ait été conçu pour des chaînes de plusieurs mégaoctets...
Comment stocker et afficher des images sur firebase ?
Mise à jour (20160519) : Firebase vient de publier une nouvelle fonctionnalité appelée Stockage Firebase . 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 d'utiliser ce service pour stocker des images, au lieu de les stocker sous forme de données codées en base64 dans la base de données JSON.
Vous pouvez certainement le faire ! En fonction de la taille de vos images, vous avez plusieurs possibilités :
1. Pour les petites images (moins de 10mb)
Nous avons un exemple de projet qui fait cela ici : https://github.com/firebase/firepano
L'approche générale consiste à charger le fichier localement (en utilisant FileReader) pour pouvoir ensuite le stocker dans Firebase comme n'importe quelle autre donnée. Les images étant des fichiers binaires, vous voudrez obtenir le contenu codé en base64 afin de pouvoir le stocker sous forme de chaîne. Ou, ce qui est encore plus pratique, vous pouvez le stocker sous la forme d'un fichier données : url qui est alors prêt à être placé comme src d'une balise img (c'est ce que fait l'exemple) !
2. Pour des images plus grandes
Firebase a une limite de 10mb (de données de chaînes codées en utf8). Si votre image est plus grande, vous devrez la diviser en morceaux de 10 Mo. Vous avez cependant raison de dire que Firebase est plus optimisé pour les petites chaînes qui changent fréquemment que pour les chaînes de plusieurs mégaoctets. Si vous avez beaucoup de données statiques volumineuses, je recommanderais certainement S3 ou un CDN à la place.
C'est génial. Avez-vous déjà rencontré une limitation de la taille des fichiers ? Je ne pense pas que Firebase ait été conçu pour des chaînes de plusieurs mégaoctets...
Firebase a une limite de 10 mb (de données de chaînes codées en utf8). Si votre image est plus grande, vous devrez la diviser en morceaux de 10 Mo. Vous avez cependant raison de dire que Firebase est plus optimisé pour les petites chaînes qui changent fréquemment que pour les chaînes de plusieurs mégaoctets. Si vous avez beaucoup de données statiques volumineuses, je recommanderais certainement S3 ou un CDN à la place.
Ce que j'envisage actuellement, c'est d'utiliser Firebase avec la plateforme Parse, qui permet de stocker très facilement des objets tels que des images et des sons, mais qui n'offre pas l'aspect temps réel.
Oui, vous pouvez stocker et afficher des images dans Firebase. Vous pouvez utiliser un filepicker 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 en utilisant l'URL générée pour l'image.
J'espère que cela vous aidera.
Consultez la documentation mise à jour de firbase pour cela : firebase.google.com/docs/storage/#key_functions
Si vous comptez héberger l'image sur amazon, pourquoi ne pas l'enregistrer dans le fichier Stockage Firebase à la place ?
Vous pouvez également utiliser un service appelé Filepicker
qui stockera votre image sur leurs serveurs et Sélecteur de fichiers qui s'appelle désormais Filestack, vous fournira l'URL de l'image. Vous pouvez ensuite stocker l'url sur Firebase.
Erreur 403 en essayant d'insérer et de rendre des images - j'ai des problèmes d'autorisation avec les images une fois téléchargées - des informations sur la façon dont vous avez configuré le téléchargement. J'ai essayé d'utiliser acl : 'public-read' - mais le téléchargement échoue - avec une erreur 403. Toute information sur la documentation de la politique et la politique des seaux qui pourrait m'aider serait la bienvenue. AWS - la documentation est difficile et il n'y a aucune information de débogage avec les erreurs autres que l'accès refusé.
Bonne idée :) c'est fait - bien que la pile puisse être différente - si vous pouvez me donner des indications, elles seront les bienvenues. Le débogage des erreurs AWS S3 est super frustrant - du moins jusqu'à présent. stackoverflow.com/questions/31998827/
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
1 votes
C'est cool, si je stocke des images en utilisant firebase, je peux utiliser les logins firebase pour la sécurité.
7 votes
Depuis hier, Firebase a publié une nouvelle fonctionnalité, appelée Firebase Storage (firebase.google.com/docs/storage), qui vous permet de charger et de télécharger des fichiers arbitraires (images, vidéo, audio, etc.). Il est soutenu par Google Cloud Storage (cloud.google.com/storage) pour une échelle de pétaoctets et un prix compétitif. Vous devriez absolument jeter un coup d'œil à ce site :)
0 votes
Vous pourriez bloquer l'image et obtenir une URL de service à l'aide du service Google Images, puis stocker l'URL de service. Ensuite, il suffit de charger les images dans une méthode asynchrone lorsqu'elles sont affichées.
31 votes
Les utilisateurs le trouvent utile, pourquoi le fermer ?
8 votes
@TinyGiant Il ne s'agit pas d'une demande de recommandation, alors pourquoi serait-elle fermée comme telle ? Il s'agit d'une question sur une fonctionnalité d'un service logiciel - tout à fait dans le sujet.
5 votes
Je déteste les commentaires fermés prématurés. les questions directes ne devraient pas être fermées pour l'amour de dieu !
1 votes
SO est parfois sur-modéré mais j'aime les mods, ils le gardent propre et utile ici