파일을 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())))))와 같은 문자열 바이트 배열로 보내고 이것을'String [ ] bytesString = location.substring (1, location.length() - 1) .split (","); byte [] bytes = 새 바이트 [bytesString.length]; (int i = 0; i
최신 Android 클라이언트를 사용하고 있습니까? 이 문제를 지금 해결해야한다고 생각합니다 - 확인할 수 있습니까? –