Ich versuche, eine Datei in Firebase Storage hochzuladen. Das Problem ist, dass durch Hinzufügen eines mit einem name
Feld, das Muñoz
enthält, jedes Mal fehlschlägt. Der Grund, den ich denke, ist, weil es ein ungültiges Zeichen enthält, die Metadaten, die die ñ
sind. Ich würde gerne wissen, wie ich dieses Wort zu einem gültigen Format weitergeben kann? DankeHinzufügen von Metadaten mit ungültigen Zeichen
Dies ist das Stück Code:
StorageMetadata metadata = new StorageMetadata.Builder()
.setCustomMetadata("avatar",mFirebaseUser.getPhotoUrl().toString())
.setCustomMetadata("nombre","Muñoz") .setContentType("image/jpg")
.build();
Ich habe versucht, die Zeichenfolge zu utf-8
und noch nicht gehen zu passieren. Der Fehler, den ich mir nach etwa 20 Minuten erhalten, während für die App wartet:
The operation retry limit has-been exceeded.
Wenn ich mit einem Charakter versuchen, dass es nicht ñ
hat, es funktioniert. Die Log gibt mir diese rekursiv:
09-08 21:33:08.405 3019-3444/cf.castellon.turistorre W/NetworkRequest: error sending network request POST https://firebasestorage.googleapis.com/v0/b/project-1031372115432573568.appspot.com/o
java.net.ProtocolException: exceeded content-length limit of 186 bytes
at com.android.okhttp.internal.http.RetryableSink.write(RetryableSink.java:58)
at com.android.okhttp.okio.RealBufferedSink.close(RealBufferedSink.java:234)
at com.android.okhttp.okio.RealBufferedSink$1.close(RealBufferedSink.java:209)
at java.io.OutputStreamWriter.close(OutputStreamWriter.java:144)
at bzr.a(:com.google.android.gms.DynamiteModulesC:364)
at bzr.b(:com.google.android.gms.DynamiteModulesC:246)
at bzr.a(:com.google.android.gms.DynamiteModulesC:270)
at bzl.onTransact(:com.google.android.gms.DynamiteModulesC:53)
at android.os.Binder.transact(Binder.java:387)
at com.google.android.gms.internal.zzamj$zza$zza.zzss(Unknown Source)
at com.google.android.gms.internal.zzamm.zza(Unknown Source)
at com.google.android.gms.internal.zzamd.zza(Unknown Source)
at com.google.android.gms.internal.zzamd.zzd(Unknown Source)
at com.google.firebase.storage.UploadTask.zzb(Unknown Source)
at com.google.firebase.storage.UploadTask.zzcyn(Unknown Source)
at com.google.firebase.storage.UploadTask.run(Unknown Source)
at com.google.firebase.storage.StorageTask$5.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
--------- beginning of system
09-08 21:33:09.605 3019-3444/cf.castellon.turistorre W/ExponenentialBackoff: network unavailable, sleeping
irgendwas dabei? Ich habe dasselbe Problem mit einem Stadtnamen, der ă enthält. Oder Workaround? –
derzeit sende ich es als String-Byte-Array wie diese '.setCustomMetadata (META_LOCATION, Arrays.toString (user.getLocation(). GetBytes (Charset.defaultCharset())))) und erhalten es zurück wie diese' String [ ] bytesString = location_string (1, location.length() - 1) .split (","); byte [] bytes = neues Byte [bytesString.length]; für (int i = 0; i
Verwenden Sie unseren neuesten Android-Client? Ich nehme an, das sollte jetzt behoben und implementiert werden - können Sie das überprüfen? –