Firebase Storageにファイルをアップロードしようとしています。問題は、Muñoz
を含むname
フィールドを持つStorageMetadata
を追加することで毎回失敗するということです。なぜなら、無効な文字が含まれているからだと思うのは、ñ
というメタデータです。私はこの単語をどのようにして有効な形式に渡すことができるか知りたいですか?あなた無効な文字でメタデータを追加する
ありがとうこれは、コードの一部は次のとおりです。
StorageMetadata metadata = new StorageMetadata.Builder()
.setCustomMetadata("avatar",mFirebaseUser.getPhotoUrl().toString())
.setCustomMetadata("nombre","Muñoz") .setContentType("image/jpg")
.build();
私はまだutf-8
なし、外出先に文字列を渡そうとしました。アプリを待っている間に、私は約20分後に私を得るエラーは以下のとおりです。
The operation retry limit has-been exceeded.
私はそれをñ
を持っていない文字にしようとすると、それが動作します。ログはこれを再帰的に返します:
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
これには何か?私には同じ名前の都市名が含まれています。または回避策? –
現在、この '.setCustomMetadata(META_LOCATION、Arrays.toString(user.getLocation()。getBytes(Charset.defaultCharset()))))')のような文字列バイト配列として送信しています。 ] bytesString = location.substring(1、location.length() - 1).split( "、"); byte [] bytes =新しいバイト[bytesString.length]; for(int i = 0; i
最新のAndroidクライアントをお使いですか?私はこれを固定して今すぐ導入すべきだと思います - あなたは確認できますか? –