Я загружаю файлы, используя модификацию, но есть ошибка сервера, когда POST файл с данными
Запрос Post Man работает при загрузке файлов, но когда он приходит к andoid, он возвращает ошибку сервера 500Здесь я загружаю файлы
HashMap<String, Object> map = new HashMap<>();
map.put("s_name", name);
map.put("s_file_number", fileNumber);
map.put("fk_i_extension_id", 3);
map.put("fk_i_project_id", 1);
map.put("s_description", description);
map.put("fk_i_type_id", 6);
map.put("b_secret", 1);
map.put("fk_i_category_id", 60);
map.put("s_file", s_file.headers());
map.put("s_attachments", listOfFilePart);
Call<ArchiverMainObject> fileCall = ArchiveApplication.apiRequests.addFile(token, map);
fileCall.enqueue(new Callback<ArchiverMainObject>() {
@Override
public void onResponse(Call<ArchiverMainObject> call, Response<ArchiverMainObject> response) {
f (response.errorBody() != null) {
JSONObject jsonObject = null;
try {
jsonObject =
new JSONObject(response.errorBody().string());
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
public void onFailure(Call<ArchiverMainObject> call, Throwable t) {
Log.d(TAG, "onResponse: addFile error " + t.getMessage());
}
});
}
Конвертер файлов
@NonNull
private MultipartBody.Part prepareFilePart(String partName, String url) {
java.io.File file = new java.io.File(url);
RequestBody requestFile =
RequestBody.create(MediaType.parse("multipart/form-data"), file);
return MultipartBody.Part.createFormData(partName, file.getName(),
requestFile);
}
ClientAPi
@Multipart
@POST("files/new")
Call<ArchiverMainObject> addFile(
@Header("Authorization") String token,
@PartMap Map<String, Object> newFile);
эточасть кода ошибки:
{"status":{"success":false,"message":"Undefined variable:
fileName","status_code":500},"debug":