В настоящее время я разрабатываю микросервис, который получает изображение, высоту и ширину для изменения размера этого изображения в этом разрешении. Я сделал всю свою бэкэнд-сторону, теперь я борюсь на передней стороне. Что я пытаюсь сделать, так это отправить изображение, высоту и ширину в том же почтовом запросе от почтальона. После поиска я не нашел способ сделать это. Я могу отправить его через параметр запроса, но я не думаю, что это правильный путь, может быть, я ошибаюсь. Но, думая, что я должен пройти весь мой объект через параметр запроса звучит некрасиво.
То, что я пытаюсь сделать, это в почтальоне Body JSON/необработанные значения передачи трех атрибутов, которые представляют собой составной файл, который принимает изображение, высоту и ширину для разрешения. Я могу успешно передать ширину и высоту, но я не знаю, как передать изображение из тела в необработанном виде.
Пожалуйста, кто-нибудь может дать какую-нибудь идею?
Это моя модель.
public class TaskDTO {
private int height;
private int width;
private MultipartFile multipartfile;
Конечная точка
@PostMapping("/task")
public void createTask(@RequestBody TaskDTO taskDTO){
//taskService.createTask(file, width, height);
//System.out.println(file);
System.out.println(taskDTO.toString());
//System.out.println(taskDTO.toString());
}
Почтальон Тест
Вы можете отправить файл только с помощью form-data
, а не raw
. В этом пункте вам нужно будет найти @RequestParam MultipartFile file
.
Другой момент - отправить файл в виде массива байтов. Но перед этим вам нужно будет преобразовать файл в байты.
На этом этапе вы должны использовать @ModelAttribute
, и вы сможете отправлять все данные DTO в качестве параметра формы.
Не могли бы вы прикрепить примеры, пожалуйста?? Я много искал, но не нашел никого, кто мог бы дать мне правильное объяснение.
Прикрепленный пример в качестве нового ответа.
Вы можете отправить составное сообщение.
См. этот ответ: https://stackoverflow.com/a/8616667/20654
В почтальоне вы выбираете
POST
Потом форма-данные и в ключе можно выбрать файл
Смотрите это для более подробного ответа:
Вот пример использования @ModelAttribute
:
Также вам может быть полезна эта тема: localcoder.org/…
Спасибо за ваш ответ. Я пробовал использовать аннотацию
@RequestParam
, которая позволяет отправлять только файл, а также другие данные. Но я пытаюсь отправить файл с помощью@RequestParam
и данные JSON с помощью@RequestBody
.