Существует старый код, который с помощью MultipartEntityBuilder в POST запрос засовывал данные, есть необходимость тоже сделать, только retrofit2
HttpPost post = new HttpPost(url);
MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();
for (Map.Entry<String, Object> entry : params.entrySet()) {
if (entry.getValue() instanceof File) {
multipartEntityBuilder.addPart(entry.getKey(), new FileBody((File) entry.getValue()));
} else if (entry.getValue() instanceof String[]) {
for (String arrayString : (String[]) entry.getValue()) {
multipartEntityBuilder.addPart(entry.getKey() + "[]", new StringBody(arrayString, ContentType.APPLICATION_JSON));
}
} else if (entry.getValue() instanceof File[]) {
for (File file : (File[]) entry.getValue()) {
multipartEntityBuilder.addPart(entry.getKey() + "[]", new FileBody(file));
}
} else if (entry.getValue() instanceof String) {
multipartEntityBuilder.addTextBody(entry.getKey(), (String) entry.getValue(), ContentType.APPLICATION_JSON);
}
}
post.setEntity(multipartEntityBuilder.build());
response = httpClient.execute(post);