SpringBoot提交form表单 size大小

报错误信息

The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector.

可以看到在SB源码中post链接请求源码 默认参数
在这里插入图片描述

form表单pots提交size大小 超出默认限制

解决办法

更改tomcat的post限制大小

硬编码方式

 

import org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer;
import org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 设置post 参数大小
 *
 * @author tizzy
 */
@Configuration
public class HttpMaxPostSizeConfiguration {


    // Set maxPostSize of embedded tomcat server to 10 megabytes (default is 2 MB, not large enough to support file uploads > 1.5 MB)
    @Bean
    EmbeddedServletContainerCustomizer containerCustomizer() throws Exception {
        return (ConfigurableEmbeddedServletContainer container) -> {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container;
                tomcat.addConnectorCustomizers(
                        (connector) -> {
                            connector.setMaxPostSize(10000000); // 10 MB
                        }
                );
            }
        };
    }
}

或者配置文件方式
tomcat

server.tomcat.max-http-post-size: 10MB

Jetty

server.jetty.max-http-post-size: 10MB

Undertow

server.undertow.max-http-post-size: 10MB

最后配置文件里 请求大小

spring:
  http:
    multipart:
      maxRequestSize: 100Mb
      maxFileSize: 10Mb

最后启动Sb.run

在使用Spring Boot时,如果遇到文件跟随表单上传报错的情况,一般有以下几种可能的原因和解决办法: 1. 缺少相关依赖:在使用Spring Boot进行文件上传时,需要引入相关的依赖,如spring-boot-starter-web和spring-boot-starter-tomcat。请确保这些依赖已经在项目的pom.xml文件中正确配置。 2. 请求类型不匹配:在进行文件上传时,需要确保表单的enctype属性为"multipart/form-data",否则无法正确处理文件上传请求。同时,Controller的映射方法也需要使用@PostMapping注解,并设定正确的请求路径。 3. 缺少配置参数:在application.properties或application.yml配置文件中,需要添加以下相关参数: spring.servlet.multipart.enabled=true // 启用文件上传功能 spring.servlet.multipart.max-file-size=10MB // 设置最大文件大小限制 spring.servlet.multipart.max-request-size=10MB // 设置最大请求大小限制 注意,以上文件大小限制的单位为Bytes,可根据项目需求进行调整。 4. Controller方法参数错误:在处理文件上传的Controller方法中,需要使用@RequestParam注解指定文件上传的表单字段名,并将参数类型设为MultipartFile。例如: @PostMapping("/upload") public String upload(@RequestParam("file") MultipartFile file) { // 处理文件上传逻辑 } 以上示例中,"file"为表单中文件上传字段的名称,需要与表单中的字段名保持一致。 如果以上解决办法仍然无法解决问题,请检查是否存在其他相关配置或代码问题。另外,可以查看具体的报错信息,以便进一步定位问题所在。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TizzyGoodhealth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值