Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring引导,上传大于10MB的文件时出现MaxUploadSizeException/SizeLimitExcepedException问题_Java_Spring_Spring Boot_Tomcat_File Upload - Fatal编程技术网

Java Spring引导,上传大于10MB的文件时出现MaxUploadSizeException/SizeLimitExcepedException问题

Java Spring引导,上传大于10MB的文件时出现MaxUploadSizeException/SizeLimitExcepedException问题,java,spring,spring-boot,tomcat,file-upload,Java,Spring,Spring Boot,Tomcat,File Upload,嵌入式Tomcat不上传大于10MB的文件 我编写了一个端点,允许用户使用POST将文件上传到服务器。这是一种工作。它将文件上传到服务器。但是,它只上载小于10MB的文件。10MB或更大的文件会遇到嵌入Tomcat引发的MaxUploadSizeExceedException问题(见下文) 我没有在项目的任何地方设置任何文件上传限制。我从某个地方读到,默认情况下,嵌入式Tomcat对上传文件大小没有任何限制 我尝试使用以下变量(一次一个)编辑application.properties文件中的文

嵌入式Tomcat不上传大于10MB的文件

我编写了一个端点,允许用户使用POST将文件上传到服务器。这是一种工作。它将文件上传到服务器。但是,它只上载小于10MB的文件。10MB或更大的文件会遇到嵌入Tomcat引发的
MaxUploadSizeExceedException
问题(见下文)

我没有在项目的任何地方设置任何文件上传限制。我从某个地方读到,默认情况下,嵌入式Tomcat对上传文件大小没有任何限制

我尝试使用以下变量(一次一个)编辑application.properties文件中的文件上载大小:

在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大小的文件。

我使用以下配置来允许无限大小的上传

spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
server.tomcat.max-http-post-size=-1 (!! Maximum size of the HTTP post content)

请使用下面的属性,它适合我

spring.servlet.multipart.max-file-size=1GB
spring.servlet.multipart.max-request-size=1GB

正如M.Deinum所建议的,您需要检查您的版本并相应地设置属性

将属性设置为
-1
将使其具有无限大的文件大小。我们可以根据需要更换

Spring Boot 1.3.x及更早版本

multipart.max-file-size
multipart.max-request-size
在Spring Boot 1.3.x之后:

spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1
在Spring Boot 2.0之后:

spring.http.multipart.max-file-size=-1
spring.http.multipart.max-request-size=-1
spring.servlet.multipart.max-file-size=-1
spring.servlet.multipart.max-request-size=-1

这不是bean,因为它缺少
@bean
注释。设置哪个属性实际上取决于您使用的是哪个Spring引导版本,因为不同版本之间的情况有所不同。请指定您正在使用的Spring启动版本。