Java 弹簧座控制器';s";MultipartFile[]multipartFiles";始终接收[]或空文件
我将Spring4与Java配置一起使用。我希望将多个文件上载到服务器,但问题是我的MultipartFile[]参数将始终接收空的/[]参数。让我在这里分享我的代码是我的'AppConfig'Java 弹簧座控制器';s";MultipartFile[]multipartFiles";始终接收[]或空文件,java,spring,spring-security,multipart,spring-restcontroller,Java,Spring,Spring Security,Multipart,Spring Restcontroller,我将Spring4与Java配置一起使用。我希望将多个文件上载到服务器,但问题是我的MultipartFile[]参数将始终接收空的/[]参数。让我在这里分享我的代码是我的'AppConfig' @Bean(name = "multipartResolver") public CommonsMultipartResolver multipartResolver(){ CommonsMultipartResolver commonsMultipartResolver = new Commo
@Bean(name = "multipartResolver")
public CommonsMultipartResolver multipartResolver(){
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
commonsMultipartResolver.setDefaultEncoding("utf-8");
commonsMultipartResolver.setMaxUploadSize(50000000);
return commonsMultipartResolver;
}
所以我注册了我的多部分解析器,然后我写了这个控制器,它除了接收文件什么都不做
@RequestMapping(value = "/upload", method = RequestMethod.POST)
public List<PutObjectResult> upload(@RequestParam("file") MultipartFile[] multipartFiles) {
System.out.println("Multipart file length is "+multipartFiles.length);
return s3Wrapper.upload(multipartFiles);
}
@RequestMapping(value=“/upload”,method=RequestMethod.POST)
公共列表上载(@RequestParam(“文件”)MultipartFile[]multipartFiles){
System.out.println(“多部分文件长度为”+multipartFiles.length);
返回s3Wrapper.upload(多部分文件);
}
在这里,我的MultipartFile[]multipartFiles始终为空/[],无论我从客户端发送多少图像/文件。我正在使用“邮递员”发送我的文件这里是从“邮递员”向多部分控制器发送请求的屏幕截图
您是否配置了
org.springframework.web.multipart.support.MultipartFilter
如果看不到这一点,我只需将表单放入jsp并使用表单提交测试我的方法,就解决了这个问题。我还使用了HttpClient来发送请求,它工作正常。我不明白为什么,但不知何故,问题出在“PostMan”工具上,我正是通过该工具访问我的restcontroller的。不,它是自动配置为“public commons multipartResolver multipartResolver()”方法的。因为这是java配置,所以我们不需要xml。除此之外,我已经找到了解决方案,我正在更新我的答案,如果你发现这个问题,请使用全数投票,以便将来其他人也可以获得帮助。谢谢