Ich mache diese App, wo Benutzer ein Profilbild haben können (aber nur jeweils ein Bild). Ich habe alles eingerichtet, aber wenn die Bilder 2mb + sind, dauert es einige Zeit zu laden und tatsächlich brauche ich nur die Bilder zu 50kb oder so (nur kleine Anzeige von Bildern, maximal 40 Pixel). Ich habe einen Code erstellt, um die Bilder direkt in die Echtzeit-Datenbank zu stellen (in canvas konvertieren und daraus eine 7kb Base64-Zeichenkette machen). Dies ist jedoch nicht wirklich sauber und es ist besser Firebase Storage zu verwenden.Laden Sie ein Base64-Bild mit Firebase Storage
Seit dem neuen Update 3.3.0 können Sie mit Base64 formatierte Strings mit der Methode putString() in Storage laden. Wenn ich jedoch mein Canvas-Bild (das mit "data: image/jpeg; base64" beginnt) hochlade, erhalte ich folgende Fehlermeldung:
v {code: "storage/invalid-format", nachricht: "Firebase Speicher: String stimmt nicht mit dem Format 'base64' überein: Ungültiges Zeichen gefunden ", ServerResponse: null, Name:" FirebaseError "}.
Tritt dieser Fehler wegen der Zeichenfolge des Leinwandbildes am Anfang auf? Ich habe überall in Stack gesucht, aber ich kann die Antwort nicht finden.
Haben Sie versucht, 'putString (myString, 'data_url')' '? Das könnte funktionieren, ohne dass Sie die ersten 23 Ziffern hacken müssen. https://firebase.google.com/docs/reference/js/firebase.storage –
Ich kann bestätigen, dass @ AnthonyChuinard Lösung funktioniert. – Chrillewoodz
danke @AnthonyChuinard! Das funktioniert! – Francesco