I am using retrofit 2 getting error.Its working fine in devices below Android Marshmallow. Above Marshmallow its giving below error
>java.lang.IllegalStateException: Multipart body must have at least one part.
Code
MultipartBody.Builder builder = new MultipartBody.Builder();
builder.setType(MultipartBody.FORM);
try {
for (int i = 0; i < filePaths.size(); i++) {
File file = new File(filePaths.get(i));
String mFileName = App.getInstance().getPrefs().getUserId() + "_" + new Date().getTime() + file.getName();
builder.addFormDataPart("file[]", mFileName, RequestBody.create(MediaType.parse("multipart/form-data"), file));
}
} catch (Exception e) {
e.printStackTrace();
}
MultipartBody requestBody = builder.build();
APIInterface appInterface = APIClient.getClient().create(APIInterface.class);
Call<ResponseBody> call = appInterface.uploadMultiFile(requestBody);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(@NonNull Call<ResponseBody> call, @NonNull Response<ResponseBody> response) {
try {
if (response.isSuccessful()) {
view.onFileUploaded();
} else {
view.showToast();
}
} catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void onFailure(@NonNull Call<ResponseBody> call, @NonNull Throwable t) {
view.showToast();
}
});
Can you help me please