所以我目前正在使用 Spring 构建一个 Multipart-Fileupload。我想创建尽可能通用的 Controller ,以便为我自己的模块化 Controller 应用程序提供良好的开端。这就是我使用 @RequestParam Map<String, Object> requestParams
的原因.所以我的虚拟函数看起来像这样:
@RequestMapping(path = "uploadtest", method = POST, consumes = MULTIPART_FORM_DATA_VALUE)
public String test(@RequestParam("file") MultipartFile file,
@RequestParam Map<String, Object> requestParams) {
return "/[...]";
}
现在,当我发布一个文件时,我会假设它可以通过 file
获得。 -变量(工作,好的。)并通过 requestParams.get("file")
(不起作用)。
所以这是我的问题:
这个意图是这样工作的,还是没有为通用 @RequestParams
启用多部分支持?注释(=Bug/Feature?)。
最佳答案
我创建了一个很棒的解决方案来获取文件映射作为 Map
@PostMapping(consumes = {MULTIPART_FORM_DATA_VALUE})
ResponseEntity<String> createDocument(@RequestParam Map<String, String> allParams, HttpServletRequest request)
Map<String, MultipartFile> fileMap = new HashMap<String, MultipartFile>();
if (request instanceof MultipartHttpServletRequest) {
MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;
fileMap = multiRequest.getFileMap();
}
关于java - MultipartFile 不在 "@RequestParam Map<String, Object> requestParams"变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37720399/