Retrofit - запрос Multipart: обязательный параметр MultipartFile 'file' отсутствует
Я пытаюсь отправить файл на сервер с помощью Retrofit2. Я делаю все в соответствии с документацией, но всегда получаю 400 ошибок сервера.
Я пытался сделать так:
RequestBody body =
RequestBody.create(MediaType.parse("image/png"), photo);
//..........
@Multipart
@POST(ADD_PHOTO)
Observable<HPSPhotoResponse>
addPhoto(@Part("file") RequestBody file);
...а вот так:
MultipartBody.Part part = MultipartBody.Part.createFormData("file", "file", body);
//...........
@Multipart
@POST(ADD_PHOTO)
Observable<HPSPhotoResponse>
addPhoto(@Part("file") MultipartBody.Part files);
не имеет значения Результат всегда один и тот же: «Составной запрос: Обязательный параметр MultipartFile 'file' отсутствует» - ответ сервера.
Я думаю, что Spring на сервере работает не очень хорошо, но я делаю эквивалентный код на Swift (iOS), и он работает! Здесь Сервер видит эту «файловую» часть.
Alamofire.upload(method, endpoint, headers: headers,
multipartFormData: { multipartFormData in
multipartFormData.appendBodyPart(fileURL: self.filePath!, name: "file")
}
Теперь я хочу, чтобы он работал на Android с Retrofit. Но я даже просматриваю логи запросов на модернизацию и, действительно, не вижу в файлах никакого «файла».
Что в этом плохого?