spring boot项目上传文件,在配置文件中设置了上传文件大小:
spring.servlet.multipart.max-file-size = 100MB
spring.servlet.multipart.max-request-size = 1GB
如果直接使用启动类启动单个项目, 则此配置项起作用,也不会有别的问题.
然而我们实际中是把这个项目打成war包, 和别的项目一起部署到weblogic中,
当上传一个超过20MB的文件时,候就一直出现如题的错误,说上传大小超过了限制.使人很是生气.
这个错误很具有迷惑性, 一直以为是weblogic包中的问题, 以为在weblogic中需要配置什么东西. 找了很久无法解决.
后来想到spring boot中配置上传大小还有使用代码的方式, 于是抱着试一试的心态, 删除配置文件中的配置项, 在启动类中加入如下代码:
@Bean
public MultipartConfigElement multipartConfigElement() {
MultipartConfigFactory factory = new MultipartConfigFactory();
//单个文件最大 100MB
factory.setMaxFileSize(DataSize.ofMegabytes(100L));
/// 设置总上传数据总大小 1GB
factory.setMaxRequestSize(DataSize.ofGigabytes(1L));
return factory.createMultipartConfig();
}
然后打包–>部署–>启动–>测试–>OK
…
…