Tomcat 8中多部分文件的最大大小配置

时间:2019-01-24 09:17:00

标签: java spring tomcat multipart

我的应用程序服务器是Tomcat,我需要将文件(大文件)上传到我的应用程序。 POST请求的正文大小确实很长,例如15 MB或更多。

我可以设置任何类型的配置或代码来解决此问题吗?

请记住,这是multipart个文件上传请求

非常感谢

2 个答案:

答案 0 :(得分:3)

Tomcat 7及更高版本具有称为maxShallowSize的配置,该配置指定用于上载的字节数,默认值为2MB。如果您的应用程序配置为接受更大的文件,例如在Spring中使用MultipartResolver,则Tomcat将拒绝该请求。

因为您可以在应用程序中配置文件大小,所以我的建议是使用值maxShallowSize禁用{TOMCAT_HOME}/conf/server.xml中的-1,然后仅使用应用程序中配置的大小

如下:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
            maxSwallowSize="-1"/>

您可以找到详细说明here(带有弹簧框架)

答案 1 :(得分:0)

1。首先在Spring中配置最大文件上传(覆盖默认值1MB)

form spring mvc 创建bean

@Bean
public CommonsMultipartResolver multipartResolver() {
     CommonsMultipartResolver resolver=new CommonsMultipartResolver();
     resolver.setMaxUploadSize(15728640);
     resolver.setMaxUploadSizePerFile(15728640);
     return resolver;
}

弹簧靴 :添加application.properties

spring.servlet.multipart.max-file-size=15MB
spring.servlet.multipart.max-request-size=15MB

2。第二件事配置您的tomcat:

找到您的服务器x​​ml Tomcat文件$TOMCAT_HOME/conf/server.xml

然后按以下示例更改连接器:

<Connector port="8080" protocol="HTTP/1.1"
  connectionTimeout="20000"
  redirectPort="8443"
  maxSwallowSize = "-1"/>