我有一个用于上传可变数量文件的服务的 Spring 控制器,我想将它们全部封装在一个
HashMap<FilesUploadEnum, MultipartFile>
对象中,而不是一个接一个地作为 @RequestPart
带注释的 MultipartFile
参数发送。 FilesUploadEnum
的元素是这些文件的名称。控制器的代码是:
@PostMapping(path = "/file",
consumes = {MediaType.MULTIPART_FORM_DATA_VALUE},
public @ResponseBody ResponseEntity<Void> saveFiles(
@RequestPart(value = "attached_files")
MultiValueMap<FilesUploadEnum, MultipartFile> files) { ...
我的问题是:我可以使用 Postman 发出这样的控制器可以接受的 HTTP 请求吗?我将
Content-Type: multipart/form-data
作为标头包含在内,但找不到在请求的正文/表单数据部分中发送 attached_files
部分的方法。我不能只将文件名作为键并将相应的文件作为值。
或者也许我无法向 Postman 提出这样的请求,而我必须使用另一个客户端应用程序?预先感谢您提供的任何帮助:) .
我不明白实体“FilesUploadEnum”。
如果是给定文件的名称,为什么不将输入参数替换为:
"@RequestParam("file") List<MultipartFile> files"
并直接从对象获取文件名,如下所示:
files.forEach(f-> System.out.println(f.getOriginalFilename()));