Java Spring: выгрузить несколько файлов MultipartFile вместе с JSON как тело в один запрос (HTTP-> POST)? - PullRequest
0 голосов
/ 31 января 2019

Здравствуйте, друзья,

Я ищу решение, в котором я могу загрузить несколько MultipartFile вместе с входным телом JSON.Я знал, что есть много связанных вещей, но я не нашел своего решения.которые провоцируют меня задать вопрос сообществу.

Мои требования аналогичны:

Я разработал (фактически разрабатываю и нахожусь на последней стадии) библиотеку с открытым исходным кодом, куда школы / колледжи / университеты охотно загружали бы учебу.материалы для студентов, основанные на предметной мудрости. Наряду с с материалом. Пользователь (прошедший проверку подлинности) должен предоставить немного текстовой информации, такой как заголовок, описание, замечания .

, поэтому моя ожидаемая сущность - это тоже нечто,

@Entity
class Material {
private MultipartFile[] content;
private String title;
private String description;
private String remarks;
}

Я хотел бы использовать кое-что из функции Spring MVC , где я терплю неудачу и нуждаюсь ваша помощь здесь,

public String uploadMaterial(@RequestBody Material material) {
... business logic ...
return "successfully material saved.";
}

Любая помощь будет действительноЦеню !!

Ответы [ 3 ]

0 голосов
/ 31 января 2019
    @RequestMapping(value = "/uploadFile", method = RequestMethod.POST)
    public @ResponseBody Material createMaterial(@RequestPart("addtionalData") String addtionalData, @RequestPart("fileList") List<MultipartFile> fileList) throws IOException {

        Material material = new ObjectMapper().readValue(addtionalData, Material.class);
        material.setContent(fileList);
// do what ever you want to do
}
0 голосов
/ 31 января 2019

@ CrossOrigin (origins = "*") @PostMapping ("/ uploadDocuments") public Object uploadFilesOnAwsS3 (@RequestHeader (name = "docId") Строка docId, @RequestHeader (name = "referenceId") Строка referenceId, @RequestHeader(name = "docTypeId") String docTypeId, @RequestParam (value = "data") Данные объекта, @RequestParam (value = "files", обязательный = true) MultipartFile [] файлы) генерирует IOException, MsuException {}

0 голосов
/ 31 января 2019

У меня было аналогичное требование для одного из моих проектов, и я использовал следующую технику для загрузки изображений

public Job uploadImageForAJo (@PathVariable Long jobId, @RequestParam ("file") MultipartFile [] files)

и здесь, если вы хотите, вы можете передать полезную нагрузку json вместе с другой необходимой информацией в виде @ RequestBody

, вы можете взглянуть на приведенный ниже вопрос, чтобы найти, как проверить ваш API с почтальоном

Инструмент для отправки многочастного запроса / запроса данных формы

...