partmap files java android upload retrofit2

java - partmap - upload files retrofit2



Retrofit 2 Método RequestBody writeTo() llamado dos veces (2)

La disminución del nivel de registro de BODY a HEADERS, BASIC o NONE resolvió este problema para mí

Retrofit 2 RequestBody writeTo () método llamado dos veces, el código que utilicé se da a continuación:

ProgressRequestBody requestVideoFile = new ProgressRequestBody(videoFile, new ProgressRequestBody.UploadCallbacks() { VideoUploadStore store = new VideoUploadStore(); @Override public void onProgressUpdate(int percentage) { if (!mIsCancelled) { Log.i("UploadServiceManager", "Read Percentage : " + percentage); data.setUploadPercentage(percentage); store.updateUploadData(data); } } @Override public void onError() { if(!mIsCancelled) { data.setUploadPercentage(0); store.updateUploadData(data); } } @Override public void onFinish() { } }); MultipartBody.Part multipartVideo = MultipartBody.Part.createFormData("File", videoFile.getName(), requestVideoFile);


La siguiente solución puede ser útil, aunque podría ser demasiado tarde. :pag

Retire HttpLoggingInterceptor Object en su Api Client que no ejecutará la función writeTo () dos veces. Básicamente, HttpLoggingInterceptor carga primero el búfer de datos (para fines de registro interno) llamando a writeTo () y luego llama a writeTo () para cargar los datos al servidor.

HttpLoggingInterceptor logging = new HttpLoggingInterceptor(); logging.setLevel(HttpLoggingInterceptor.Level.BODY); httpClient.addInterceptor(logging);