在没有@RequestParam名称的控制器中获取文件
Getting files in controller without @RequestParam name
我正在尝试构建一个通用 POST 控制器。
我可以以通用方式访问参数,但是如果不使用 @RequestParam("files") MultipartFile[] 文件我就无法获取可能的文件,所以,有谁知道如何以通用方式获取文件(如果有提交的话)方式?
到目前为止,这是我的控制器:
@PostMapping
public void save(@RequestParam MultiValueMap<String, Object> o) {
Iterator it = o.keySet().iterator();
while(it.hasNext()){
String key = (String) it.next();
String value = (String) o.getFirst(key);
System.out.println("Key: " + key + " Value: " + value);
}
etc...
}
明确一点,我不想设置("files"),因为它可以用任何名称上传。我知道我可以使用 @RequestParam 但我不能没有名字。
谢谢:)
任何想知道如何执行它的人:
注入HttpServletRequest请求和使用一样简单
Map<String, MultipartFile> multipartFiles = ((MultipartHttpServletRequest) request).getFileMap();
for (Entry<String, MultipartFile> file : multipartFiles.entrySet()) {
o.put(file.getKey(), file.getValue());
}
我正在尝试构建一个通用 POST 控制器。 我可以以通用方式访问参数,但是如果不使用 @RequestParam("files") MultipartFile[] 文件我就无法获取可能的文件,所以,有谁知道如何以通用方式获取文件(如果有提交的话)方式?
到目前为止,这是我的控制器:
@PostMapping
public void save(@RequestParam MultiValueMap<String, Object> o) {
Iterator it = o.keySet().iterator();
while(it.hasNext()){
String key = (String) it.next();
String value = (String) o.getFirst(key);
System.out.println("Key: " + key + " Value: " + value);
}
etc...
}
明确一点,我不想设置("files"),因为它可以用任何名称上传。我知道我可以使用 @RequestParam 但我不能没有名字。 谢谢:)
任何想知道如何执行它的人: 注入HttpServletRequest请求和使用一样简单
Map<String, MultipartFile> multipartFiles = ((MultipartHttpServletRequest) request).getFileMap();
for (Entry<String, MultipartFile> file : multipartFiles.entrySet()) {
o.put(file.getKey(), file.getValue());
}