[记录]springboot 设置文件上传大小(tomcat默认1M)

简介: [记录]springboot 设置文件上传大小(tomcat默认1M)

项目场景:

环境:win10

idea2017

springboot

问题描述:

上传文件一直报错,但是我清晰地记得我的接口是好的

然后提示这个瓜娃子东西,让我怀疑我的配置是否正确

Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.

原因分析:

别扯多的 就是你光配置这个是没用的,仍然会导致你上传文件限制为1M

server:
  server:
    tomcat:
      max-http-form-post-size: -1
  port: 9090
  servlet:
    multipart:
      enabled: true
      max-file-size: 200MB
      max-request-size: 200MB

解决方案:

方案一

步骤1.yml配置

server:
  server:
    tomcat:
      max-http-form-post-size: -1
  port: 9090
  servlet:
    multipart:
      enabled: true
      max-file-size: 200MB
      max-request-size: 200MB

步骤2.添加一个Config类

import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.util.unit.DataSize;
import javax.servlet.MultipartConfigElement;
//@Configuration
public class UploadFileConfig {
      @Bean
      public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        //文件最大20M
        factory.setMaxFileSize(DataSize.ofMegabytes(20));
        //factory.setMaxFileSize(DataSize.parse("100MB"));
        // 设置总上传数据总大小200M
        factory.setMaxRequestSize(DataSize.parse("200MB"));
        return factory.createMultipartConfig();
    }
}

然后重启解决。


相关文章
|
1月前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
该文是一系列关于从零开始手写实现 Apache Tomcat 的教程概述。作者希望通过亲自动手实践理解 Tomcat 的核心机制。文章讨论了 Spring Boot 如何实现直接通过 `main` 方法启动,Spring 与 Tomcat 容器的集成方式,以及两者生命周期的同步原理。文中还提出了实现 Tomcat 的启发,强调在设计启动流程时确保资源的正确加载和初始化。最后提到了一个名为 mini-cat(嗅虎)的简易 Tomcat 实现项目,开源于 [GitHub](https://github.com/houbb/minicat)。
|
1月前
|
前端开发 Java 应用服务中间件
Springboot对MVC、tomcat扩展配置
Springboot对MVC、tomcat扩展配置
|
1月前
|
前端开发 Java 应用服务中间件
从零手写实现 tomcat-08-tomcat 如何与 springboot 集成?
本文探讨了Spring Boot如何实现像普通Java程序一样通过main方法启动,关键在于Spring Boot的自动配置、内嵌Servlet容器(如Tomcat)以及`SpringApplication`类。Spring与Tomcat集成有两种方式:独立模式和嵌入式模式,两者通过Servlet规范、Spring MVC协同工作。Spring和Tomcat的生命周期同步涉及启动、运行和关闭阶段,通过事件和监听器实现。文章鼓励读者从实现Tomcat中学习资源管理和生命周期管理。此外,推荐了Netty权威指南系列文章,并提到了一个名为mini-cat的简易Tomcat实现项目。
|
16天前
|
应用服务中间件 Windows
Windows下CMD和Tomcat设置编码为UTF-8
解决CMD和Tomcat中文乱码问题:通过修改注册表永久设置CMD编码为UTF-8,路径 `\HKEY_CURRENT_USER\Console\%SystemRoot%_system32_cmd.exe`,修改CodePage为65001。Tomcat日志乱码时,在 `\HKEY_CURRENT_USER\Console` 下新建Tomcat项,添加DWORD值PageCode,值设为65001。
|
1月前
|
存储 Java 应用服务中间件
Springboot项目打war包部署到外置tomcat容器【详解版】
该文介绍了将Spring Boot应用改为war包并在外部Tomcat中部署的步骤:1) 修改pom.xml打包方式为war;2) 排除内置Tomcat依赖;3) 创建`ServletInitializer`类继承`SpringBootServletInitializer`;4) build部分需指定`finalName`;5) 使用`mvn clean package`打包,将war包放入外部Tomcat的webapps目录,通过startup脚本启动Tomcat并访问应用。注意,应用访问路径和静态资源引用需包含war包名。
|
1月前
|
前端开发 Java 应用服务中间件
springboot 升级(1.5.7.RELEASE升级到2.7.10) Tomcat启动报错
springboot 升级(1.5.7.RELEASE升级到2.7.10) Tomcat启动报错
|
1月前
|
Java 测试技术 数据库
SpringBoot启动时设置不加载数据库
SpringBoot启动时设置不加载数据库
39 0
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的华为数码商城交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的华为数码商城交易平台的详细设计和实现(源码+lw+部署文档+讲解等)
30 12
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的医院综合管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的医院综合管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
21 11
|
1天前
|
JavaScript Java 测试技术
基于SpringBoot+Vue的医院疫情防控管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue的医院疫情防控管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
22 10