CommonsMultipartResolver 和 spring session 互相干扰
CommonsMultipartResolver and spring session disturb each other
在spring boot
中有multi part config的配置
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("utf-8");
resolver.setMaxInMemorySize(20480);
resolver.setMaxUploadSize(2048000000);
return resolver;
}
添加下面的依赖就可以了,成功了
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
</dependency>
引发了以下异常:
[ERROR]
org.springframework.web.multipart.support.MissingServletRequestPartException:
Required request part 'file' is not present Required request part
'file' is not present
哪里错了?
编辑:
相关控制器:
@RequestMapping(value={"/save"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
@ResponseBody
public FileProviderDto save(@RequestParam("file") MultipartFile file, @RequestParam String fileCode)
throws IOException, SQLException
{
我添加了这个配置并且工作正常。
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("utf-8");
resolver.setMaxInMemorySize(20480);
resolver.setMaxUploadSize(2048000000);
return resolver;
}
@Bean
@Order(0)
public MultipartFilter multipartFilter() {
MultipartFilter multipartFilter = new MultipartFilter();
multipartFilter.setMultipartResolverBeanName("multipartResolver");
return multipartFilter;
}
并像这样跳过 MultipartAutoConfiguration.class:
@SpringBootApplication(exclude = { MultipartAutoConfiguration.class })
在spring boot
中有multi part config的配置@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("utf-8");
resolver.setMaxInMemorySize(20480);
resolver.setMaxUploadSize(2048000000);
return resolver;
}
添加下面的依赖就可以了,成功了
<dependency>
<groupId>org.springframework.session</groupId>
<artifactId>spring-session</artifactId>
</dependency>
引发了以下异常:
[ERROR] org.springframework.web.multipart.support.MissingServletRequestPartException: Required request part 'file' is not present Required request part 'file' is not present
哪里错了?
编辑:
相关控制器:
@RequestMapping(value={"/save"}, method={org.springframework.web.bind.annotation.RequestMethod.POST})
@ResponseBody
public FileProviderDto save(@RequestParam("file") MultipartFile file, @RequestParam String fileCode)
throws IOException, SQLException
{
我添加了这个配置并且工作正常。
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver = new CommonsMultipartResolver();
resolver.setDefaultEncoding("utf-8");
resolver.setMaxInMemorySize(20480);
resolver.setMaxUploadSize(2048000000);
return resolver;
}
@Bean
@Order(0)
public MultipartFilter multipartFilter() {
MultipartFilter multipartFilter = new MultipartFilter();
multipartFilter.setMultipartResolverBeanName("multipartResolver");
return multipartFilter;
}
并像这样跳过 MultipartAutoConfiguration.class:
@SpringBootApplication(exclude = { MultipartAutoConfiguration.class })