我的应用服务器是Tomcat,我需要上传文件(大文件)到我的应用程序。
是否有任何类型的配置或代码可以解决这个问题?
请记住,这是带有文件上传的
提前致谢。
POST
请求的主体大小非常长,例如15 MB或更多。是否有任何类型的配置或代码可以解决这个问题?
请记住,这是带有文件上传的
multipart
请求。提前致谢。
Tomcat 7及以上版本有一个名为maxSwallowSize
的配置项,用于指定上传文件的字节数,默认值为2MB。如果您的应用程序配置接受更大的文件(例如在Spring中使用MultipartResolver),Tomcat将拒绝该请求。
由于您可以在应用程序中配置文件大小,我的建议是在{TOMCAT_HOME}/conf/server.xml
中使用值-1
禁用maxShallowSize
,然后仅使用应用程序中配置的大小进行操作。
具体操作如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxSwallowSize="-1"/>
您可以在此处找到详细说明(使用Spring框架)
。1.首先配置Spring中的最大文件上传大小(覆盖默认值1MB)
在Spring MVC中创建bean
:
@Bean
public CommonsMultipartResolver multipartResolver() {
CommonsMultipartResolver resolver=new CommonsMultipartResolver();
resolver.setMaxUploadSize(15728640);
resolver.setMaxUploadSizePerFile(15728640);
return resolver;
}
spring.servlet.multipart.max-file-size=15MB
spring.servlet.multipart.max-request-size=15MB
2. 配置Tomcat的第二件事:
找到您的Tomcat服务器XML文件 $TOMCAT_HOME/conf/server.xml
然后按照以下示例更改您的连接器:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxSwallowSize = "-1"/>