Spring Boot控制器-上传Multipart文件和Java对象,角度4,7

时间:2019-01-14 17:35:37

标签: angular spring spring-boot multipartform-data multipart

示例DTO中如何使用Postman发送数据,主要是多部分文件数据,角度4,7

示例DTO中Multipartfile中的

数据

public class ExampleDTo {

    private MultipartFile image;

    private String name;
    private String description;

}

控制器映射

@PostMapping()
public ResponseEntity<?> saveExample(@RequestParam("dtoAnduploadingFiles") ExampleDTo  dtoAnduploadingFiles  ) throws IOException {

}

2 个答案:

答案 0 :(得分:0)

执行此操作的一种方法是使用多个部分。

例如,如果您使用此控制器:

@PostMapping
public void uploadFileWithData(
        @RequestPart ExampleDTo request,
        @RequestPart("file") final MultipartFile file){
    ...
}

注意:ExampleDto应该仅包含json有效负载的字段,而不应包含MultipartFile

在Postman中,您应该使用form-data并选择要上传的文件以及带有json负载的文件。 postman

答案 1 :(得分:0)

您可以像Postman的普通分段Form一样来做,但是您需要更新Mapping Method

@PostMapping("/upload-file-form")
    public ResponseEntity<?> multiUploadFileModel(@ModelAttribute ExampleDTo model) {
        try {
            saveUploadedFile(model.getImage()); // Create method to save your file or just do it here
            formRepo.save(mode.getName(),model.getDescription()); //Save as per requirement 
        } catch (IOException e) {
            return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
        }
        return new ResponseEntity("Successfully uploaded!", HttpStatus.OK);
    }

有关完整的代码示例,请查看here。 然后您可以像这样在邮递员上进行测试: enter image description here