requestParams"变量中-6ren"> requestParams"变量中-所以我目前正在使用 Spring 构建一个 Multipart-Fileupload。我想创建尽可能通用的 Controller ,以便为我自己的模块化 Controller 应用程序提供良好的开端。-6ren">
gpt4 book ai didi

java - MultipartFile 不在 "@RequestParam Map requestParams"变量中

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:53:33 26 4
gpt4 key购买 nike

所以我目前正在使用 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 fileMap 。您应该使用:multiRequest.getFileMap(); 来自对象 HttpServletRequest。

    @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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com