Wie speichere und zeige ich Bilder auf Firebase?
Wie speichere und zeige ich Bilder auf Firebase?
Antworten:
Update (20160519) : Firebase hat gerade eine neue Funktion namens Firebase Storage veröffentlicht . Auf diese Weise können Sie Bilder und andere Nicht-JSON-Daten auf einen dedizierten Speicherdienst hochladen. Es wird dringend empfohlen, dies zum Speichern von Bildern zu verwenden, anstatt sie als base64-codierte Daten in der JSON-Datenbank zu speichern.
Das kannst du sicher! Je nachdem, wie groß Ihre Bilder sind, haben Sie mehrere Möglichkeiten:
1. Für kleinere Bilder (unter 10 MB)
Wir haben hier ein Beispielprojekt, das dies tut: https://github.com/firebase/firepano
Der allgemeine Ansatz besteht darin, die Datei lokal zu laden (mithilfe von FileReader), damit Sie sie dann wie alle anderen Daten in Firebase speichern können. Da es sich bei Bildern um Binärdateien handelt, sollten Sie den Base64-codierten Inhalt abrufen, damit Sie ihn als Zeichenfolge speichern können. Oder noch praktischer: Sie können es als Daten speichern : URL, die dann als src eines img-Tags eingefügt werden kann (wie im Beispiel dargestellt)!
2. Für größere Bilder
Firebase hat ein Limit von 10 MB (von utf8-codierten Zeichenfolgendaten). Wenn Ihr Bild größer ist, müssen Sie es in 10-MB-Blöcke aufteilen. Sie haben jedoch Recht, dass Firebase eher für kleine Zeichenfolgen optimiert ist, die sich häufig ändern, als für Zeichenfolgen mit mehreren Megabyte. Wenn Sie viele große statische Daten haben, würde ich auf jeden Fall S3 oder ein CDN empfehlen.
Ja, Sie können Bilder in Firebase speichern und anzeigen. Sie können einen Dateipicker verwenden, um die Bilddatei abzurufen. Dann können Sie das Bild hosten, wie Sie möchten, ich bevorzuge Amazon S3. Sobald das Bild gehostet ist, können Sie das Bild unter Verwendung der für das Bild generierten URL anzeigen.
Hoffe das hilft.
Am Ende habe ich die Bilder selbst im Base64-Format gespeichert. Ich übersetze sie von ihrem base64-Wert, wenn sie von firebase zurückgerufen werden.
Sie können auch einen Dienst namens verwenden, Filepicker
der Ihr Bild auf ihren Servern speichert, und Filepicker, der jetzt Filestack heißt, gibt Ihnen eine URL zum Bild. Sie können die URL dann in Firebase speichern.
Es gibt verschiedene Möglichkeiten, wie ich es zuerst getan habe, wie es Grendal2501 getan hat. Ich habe es dann ähnlich wie bei user15163 gemacht. Sie können die Bild-URL in der Firebase speichern und das Image auf Ihrem Firebase-Host oder auch auf Amazon S3 hosten.
Die Verwendung von Base64-Zeichenfolgen in JSON ist sehr umfangreich. Der Parser muss viel schweres Heben tun. Derzeit unterstützt Fresco nur Base-Unterstützung Base64. Besser Sie setzen etwas auf Amazon Cloud oder Firebase Cloud. Und ein Bild als URL erhalten. Damit können Sie Picasso oder Glide zum Zwischenspeichern verwenden.