【发布时间】:2020-01-08 12:00:51
【问题描述】:
嵌入式 Tomcat 不会上传大于 10MB 的文件
我编写了一个端点来允许用户通过 POST 将文件上传到服务器。端点类型的工作。它将文件上传到服务器。但是,它只上传小于 10MB 的文件。 10MB 或更大的文件会遇到嵌入式 Tomcat 引发的 MaxUploadSizeExceedException 问题(如下)。
我没有在项目的任何地方设置任何文件上传限制。我从某处读到,默认情况下,嵌入式 Tomcat 对上传文件大小没有任何限制。
我尝试使用以下变量(一次一个)编辑 application.properties 文件中的文件上传大小:
spring.servlet.multipart.maxFileSize=5000MB
# spring.http.multipart.max-file=5000MB
# multipart.maxFileSize=50mb # max file size
# multipart.maxRequestSize=50mb # max reques
在 application.properties 文件中编辑上述变量并没有改变嵌入式 Tomcat 对 10MB 文件上传大小的限制。然后我创建了一个如下的 Bean 来指定上传文件的大小,但运气不佳:
@Configuration
public class UploadFileSize {
private long maxFileSize = -1; // -1 = unlimited size
public MultipartResolver multipartResolver() {
CommonsMultipartResolver multipartResolver = new
CommonsMultipartResolver();
multipartResolver.setMaxUploadSize(maxFileSize);
enter code here
return multipartResolver;
}
}
我希望代码能够上传几 GB 大小的文件。
【问题讨论】:
-
这不是 bean,因为它缺少
@Bean注释。实际上要设置的属性取决于您使用的 Spring Boot 版本,因为版本之间的情况发生了变化。请指定您使用的 Spring Boot 版本。
标签: java spring spring-boot tomcat file-upload