Как отправить файл и данные через необработанный JSON от Postman

В настоящее время я разрабатываю микросервис, который получает изображение, высоту и ширину для изменения размера этого изображения в этом разрешении. Я сделал всю свою бэкэнд-сторону, теперь я борюсь на передней стороне. Что я пытаюсь сделать, так это отправить изображение, высоту и ширину в том же почтовом запросе от почтальона. После поиска я не нашел способ сделать это. Я могу отправить его через параметр запроса, но я не думаю, что это правильный путь, может быть, я ошибаюсь. Но, думая, что я должен пройти весь мой объект через параметр запроса звучит некрасиво.

То, что я пытаюсь сделать, это в почтальоне 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());


    }

Почтальон Тест

enter image description here

Основы программирования на Java
Основы программирования на Java
Java - это высокоуровневый объектно-ориентированный язык программирования, основанный на классах.
Концепции JavaScript, которые вы должны знать как JS программист!
Концепции JavaScript, которые вы должны знать как JS программист!
JavaScript (Js) - это язык программирования, объединяющий HTML и CSS с одной из основных технологий Всемирной паутины. Более 97% веб-сайтов используют...
0
0
30
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Вы можете отправить файл только с помощью form-data, а не raw. В этом пункте вам нужно будет найти @RequestParam MultipartFile file.

Другой момент - отправить файл в виде массива байтов. Но перед этим вам нужно будет преобразовать файл в байты.

Спасибо за ваш ответ. Я пробовал использовать аннотацию @RequestParam, которая позволяет отправлять только файл, а также другие данные. Но я пытаюсь отправить файл с помощью @RequestParam и данные JSON с помощью @RequestBody.

mamun mohamed 17.05.2022 15:48

На этом этапе вы должны использовать @ModelAttribute, и вы сможете отправлять все данные DTO в качестве параметра формы.

Serhii Zhura 17.05.2022 15:50

Не могли бы вы прикрепить примеры, пожалуйста?? Я много искал, но не нашел никого, кто мог бы дать мне правильное объяснение.

mamun mohamed 17.05.2022 16:04

Прикрепленный пример в качестве нового ответа.

Serhii Zhura 17.05.2022 16:12

Вы можете отправить составное сообщение.

См. этот ответ: https://stackoverflow.com/a/8616667/20654

В почтальоне вы выбираете

POST

Потом форма-данные и в ключе можно выбрать файл

Example

Смотрите это для более подробного ответа:

https://stackoverflow.com/a/16022213/20654

Ответ принят как подходящий

Вот пример использования @ModelAttribute:

  • ДТО enter image description here

  • Контроллерenter image description here

  • Почтальон UIenter image description here

Также вам может быть полезна эта тема: localcoder.org/…

Serhii Zhura 17.05.2022 16:30

Другие вопросы по теме