SpringBoot 部署在Tomcat上,上传文件问题
在部署SpringBoot项目到Tomcat时,出现一个问题,上传的文件一直拿不到,一直是null
。
SpringBoot的官方推荐启动方式是用Jar包
启动。
但是我们在一些特定的环境开发时,难免会有一些限制。
1.解决方法
添加一个配置Bean,这样就可以正常拿到文件了
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
@Bean
public CommonsMultipartResolver commonsMultipartResolver(){
CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver();
commonsMultipartResolver.setDefaultEncoding("utf-8");
commonsMultipartResolver.setMaxUploadSize(10485760000L);
commonsMultipartResolver.setMaxInMemorySize(40960);
return commonsMultipartResolver;
}
2.坑
在本地启动jar包调试时,如果有这个Bean
,就拿不到文件。所以本地环境下启动SpringBoot,记得注释这个Bean。
或者判断当前的运行环境,决定是否加载这个Bean
。