Java Spring Boot-通过POST请求在不知道关键参数的情况下在控制器中获取上载的文件?

Java Spring Boot-通过POST请求在不知道关键参数的情况下在控制器中获取上载的文件?,java,spring,spring-boot,spring-mvc,Java,Spring,Spring Boot,Spring Mvc,我使用Spring Boot 1.5.2,我有一个控制器来处理POST请求,该请求可以包含一个随机上传的二进制文件和随机键值作为字符串,并具有不同的POST参数 例如: curl -F 'fileX=@/path/to/fileX' -F 'fileY=@/path/to/fileY' -F 'abc=@/path/to/fileZ' -d "key1=value1" -d "key2=value2" http

我使用Spring Boot 1.5.2,我有一个控制器来处理POST请求,该请求可以包含一个随机上传的二进制文件随机键值作为字符串,并具有不同的POST参数

例如:

curl -F 'fileX=@/path/to/fileX' 
     -F 'fileY=@/path/to/fileY'
     -F 'abc=@/path/to/fileZ' 
     -d "key1=value1"
     -d "key2=value2"

http://localhost/upload
我已经搜索了
MultipartFile[]
,但它似乎需要有一个固定的键参数,否则这个files变量将为空,例如:

@Controller
public class FilesController {

    @PostMapping("/upload")
    public void handlePost(HttpServletRequest httpServletRequest, 
                           HttpServletResponse httpServletResponse, 
                           @RequestParam("filesKey") MultipartFile[] files) {
 
    }
}

在这种情况下,我如何在不知道关键参数的情况下获得已发布文件的列表?

我认为上传的文件可以如下实现:

@PostMapping("/upload")
public void handlePost(HttpServletRequest httpServletRequest, 
                       HttpServletResponse httpServletResponse) {

        for (Part part : httpServletRequest.getParts()) {
            System.out.println(part.getContentType());
            System.out.println(part.getName());
        }

}
这将输出:

application/octet-stream
fileX
application/octet-stream
fileY
application/octet-stream
abc
null
key1