Spring Boot中设置文件上传大小限制

作者:Nicky2024.01.17 08:00浏览量:28

简介:在Spring Boot中,文件上传大小限制默认是1MB,但可以通过配置文件进行修改。本文将介绍如何通过两种方式设置文件上传大小限制,包括在application.properties或application.yml文件中设置参数,以及通过复写MultipartConfigElement。

千帆应用开发平台“智能体Pro”全新上线 限时免费体验

面向慢思考场景,支持低代码配置的方式创建“智能体Pro”应用

立即体验

在Spring Boot中,默认情况下文件上传的大小限制为1MB。这是由于嵌入的Tomcat限制了请求的文件大小。如果你需要更改这个默认值,有两种方式可以实现:一种是修改配置文件,另一种是复写MultipartConfigElement。
一、修改配置文件
你可以在Spring Boot的配置文件中设置max-file-sizemax-request-size参数来限制上传文件的大小。这两个参数分别表示单个文件的最大值和上传文件总的最大值。

  1. 在application.properties文件中设置:
    1. spring.servlet.multipart.max-file-size=500MB
    2. spring.servlet.multipart.max-request-size=500MB
  2. 在application.yml文件中设置:
    1. spring:
    2. servlet:
    3. multipart:
    4. max-file-size: 500MB
    5. max-request-size: 500MB
    二、复写MultipartConfigElement
    如果你需要更复杂的配置,比如自定义文件大小限制的单位或者限制文件上传的次数等,你可以选择复写MultipartConfigElement。以下是一个简单的示例:
    1. import org.springframework.web.multipart.MultipartConfigFactory;
    2. import org.springframework.web.multipart.MultipartRequest;
    3. import javax.servlet.http.HttpServletRequest;
    4. import javax.servlet.http.HttpServletRequestWrapper;
    5. import java.util.Map;
    6. import java.util.HashMap;
    7. import java.util.List;
    8. import java.util.ArrayList;
    9. import org.springframework.beans.factory.annotation.Value;
    10. import org.springframework.boot.web.servlet.MultipartConfigFactoryBean;
    11. import org.springframework.context.annotation.Bean;
    12. import org.springframework.context.annotation.Configuration;
    13. import org.springframework.util.unit.DataSize;
    14. import org.springframework.util.unit.DataUnit;
    15. import org.springframework.web.multipart.*;
    16. import javax.servlet.*;
article bottom image

相关文章推荐

发表评论