我的应用程序服务器是Tomcat,我需要的是将文件(大尺寸)上传到我的应用程序。POST
请求的正文大小非常长,例如 15 MB 或更多。
我可以设置任何类型的配置或代码来解决此问题吗?
请记住,这是文件上传multipart
请求
提前非常感谢
Tomcat 7 及更高版本具有称为 maxSwallowSize
的配置,用于指定默认值为 2MB 的上传字节数。如果你的应用程序被配置为接受更大的文件,例如在Spring中使用MultipartResolver,Tomcat将拒绝该请求。
由于您可以在应用程序中配置文件大小,因此我的建议是使用值-1
禁用{TOMCAT_HOME}/conf/server.xml
中的maxShallowSize
,然后仅使用应用程序中配置的大小
如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxSwallowSize="-1"/>
您可以在此处找到详细说明(带有弹簧框架)
1. 首先在 Spring 中配置最大文件上传数(覆盖默认值 1MB)
形成弹簧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.第二件事配置您的雄猫:
找到您的服务器 XML Tomcat 文件$TOMCAT_HOME/conf/server.xml
然后按示例更改连接器,如下所示:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxSwallowSize = "-1"/>