Отправляю файл на сервер с помощью Retrofit2
, использую POST
метод для отправки файла, POST метод принимает два параметра "file" и "shared-with":
@Multipart
@POST("im-file")
Call<RequestBody> sendFile(@Part MultipartBody.Part file,
@Part("shared-with") String sharedWith);
метод для отправки файлов на сервер:
private void testSendFile(){
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+ File.separator + "gallery.png");
RequestBody requestFile = RequestBody.create(MediaType.parse("multipart/form-data"), file);
MultipartBody.Part body = MultipartBody.Part.createFormData("picture", file.getName(), requestFile);
Call<RequestBody> call = BaseApi.getInstance().service.sendFile(body, "bob");
call.enqueue(new Callback<RequestBody>() {
@Override
public void onResponse(Call<RequestBody> call, Response<RequestBody> response) {
Log.e("Response: ", String.valueOf(response));
Log.e("Response headers in send file: ", String.valueOf(response.headers()));
Log.e("Response code in send file: ", String.valueOf(response.code()));
}
@Override
public void onFailure(Call<RequestBody> call, Throwable t) {
Log.e("File send error: ", t);
}
});
}
Получаю 400 ошибку, "message":"Required request part 'file' is not present","path":"/"
.
Когда тестирую запрос в Postman, то все работает:
Что может быть не так?
Похоже, неправильно задано имя части с файлом. Попробуйте
MultipartBody.Part body = MultipartBody.Part.createFormData("file", file.getName(), requestFile);
вместо
MultipartBody.Part body = MultipartBody.Part.createFormData("picture", file.getName(), requestFile);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пытаюсь воспроизвести закодированный h264 в MPEG-TS видеопоток, используя стандартный VideoViewВся программа состоит из одной activity с VideoView, Button и EditText
Пытаюсь вывести иконки для пунктов меню, но не совсем знаю как правильно это сделатьПриложение делает следующее: Есть файл json с объектами
Как в этом классе переопределить setValueAt(), относящийся к TableModel?