【问题标题】:How to upload multipart file with product data in spring boot如何在spring boot中上传带有产品数据的多部分文件
【发布时间】:2021-08-05 06:50:54
【问题描述】:
mvc 模型中包含产品数据的多部分文件
@PostMapping("/v1/save-product")
public ProductDTO saveProductDTO(@RequestBody ProductDTO productDTO, @RequestParam("file") MultipartFile file)
throws IOException {
String fileName = StringUtils.cleanPath(file.getOriginalFilename());
return productService.saveProductDTO(productDTO);
}
【问题讨论】:
标签:
spring
spring-boot
spring-mvc
spring-data-jpa
【解决方案1】:
使用 MultipartHttpServletRequest 类型获取您的产品 dto 和文件。
@PostMapping("/v1/save-product", consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public ProductDTO saveProductDTO(MultipartHttpServletRequest request ) throws IOException {
ProductDTO productDTO = ObjectMapper.fromJson(request.getParameter("product", ProductDTO.class));
MultiValueMap<String, MultipartFile> attachments = request.getMultiFileMap();
attachments.forEach((key, multipartFiles) -> {
multipartFiles.forEach(file -> {
//do your all operations for each file and productDto.
//like productService.saveProductDTO(productDTO);
});
});
return null; //return your result
}