我正在发送经过翻新的multipart
请求,它工作正常。但是当我的文件名包含波斯字符时,我的应用程序崩溃了,并出现以下错误:
这是我发送多部分请求的方式:
File imageFile = new File(imagePath);
ProgressRequestBody fileBody = new ProgressRequestBody(imageFile, this);
MultipartBody.Part filePart = MultipartBody.Part.createFormData("photo", imageFile.getName(), fileBody);
RetroInterface retroInterface = RetrofitClientInstance.getRetrofitInstance().create(RetroInterface.class);
Call<SendFileResponse> call = retroInterface.sendPhoto(token, myHashmap, filePart);
我该如何解决这个问题?
最佳答案
我的解决方案不是完美的,因为它可以更改某些字符,所以要放置URLEncoder.encode(file.name, "utf-8")
而不是纯名称。