From e7a39fa0194fe0093b9e6618474668a104d6453b Mon Sep 17 00:00:00 2001 From: Maxim Smirnov Date: Sat, 2 Dec 2023 23:44:44 +0400 Subject: [PATCH] Added filename encoding for file upload --- .../main/java/ru/livetex/sdk/network/ApiManager.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/sdk/src/main/java/ru/livetex/sdk/network/ApiManager.java b/sdk/src/main/java/ru/livetex/sdk/network/ApiManager.java index 9b638fe..08ad0b7 100644 --- a/sdk/src/main/java/ru/livetex/sdk/network/ApiManager.java +++ b/sdk/src/main/java/ru/livetex/sdk/network/ApiManager.java @@ -10,6 +10,8 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.Objects; import com.google.gson.Gson; @@ -57,9 +59,11 @@ public Single uploadFile(File file) { return; } + String encodedFilename= URLEncoder.encode(file.getName(), "UTF-8"); + RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) - .addFormDataPart("fileUpload", file.getName(), + .addFormDataPart("fileUpload", encodedFilename, RequestBody.create(MediaType.parse("text/plain"), file)) .build(); @@ -178,12 +182,13 @@ private void uploadFile( InputStreamProvider inputStreamProvider, @Nullable MediaType mediaType, SingleEmitter emitter - ) { + ) throws UnsupportedEncodingException { + String encodedFilename= URLEncoder.encode(fileName, "UTF-8"); RequestBody requestBody = new MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart( "fileUpload", - fileName, + encodedFilename, new RequestBody() { @Override public MediaType contentType() {