我的应用程序服务器是Tomcat,我需要将文件(大文件)上传到我的应用程序。 POST
请求的正文大小确实很长,例如15 MB或更多。
我可以设置任何类型的配置或代码来解决此问题吗?
请记住,这是multipart
个文件上传请求
非常感谢
答案 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:
找到您的服务器xml Tomcat文件$TOMCAT_HOME/conf/server.xml
然后按以下示例更改连接器:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxSwallowSize = "-1"/>