Java上传文件大小受限怎么解决

一般控制台上会出现像这样 ***1048576 bytes.这大小限制

java 复制代码
org.springframework.web.multipart.MaxUploadSizeExceededException: 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.
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:121)
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:114)

1、问题描述:

因为上传的file文件超过了spring默认配置的最大值1048576 bytes,上传文件我们通常情况下是使用MultipartFile接口类接收前端上传的文件,可见对于MultipartFile文件的默认限制也是1048576 bytes,即1M。

2、问题分析:

SpringBoot不同的版本,对应的设置参数不同:

Spring Boot 1.3.x and earlier

multipart.maxFileSize

multipart.maxRequestSize

Spring Boot 1.4.x and 1.5.x

spring.http.multipart.maxFileSize

spring.http.multipart.maxRequestSize

Spring Boot 2.x

spring.servlet.multipart.maxFileSize

spring.servlet.multipart.maxRequestSize

3、解决方法

在配置文件.yml或者.properties中直接修改参数

例如我使用的是SpringBoot 2.1.3的版本,然后直接再配置文件中设置参数大小:

java 复制代码
#做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: 50MB # 最大支持文件大小
      max-request-size: 50MB # 最大支持请求大小,不可省略
 
#不做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: -1 #不做限制
      max-request-size: -1 #不做限制
相关推荐
拼搏@1 小时前
第十六天,7月10日,八股
java·mybatis
Sylvia-girl5 小时前
Java——抽象类
java·开发语言
Touper.7 小时前
Redis 基础详细介绍(Redis简单介绍,命令行客户端,Redis 命令,Java客户端)
java·数据库·redis
m0_535064608 小时前
C++模版编程:类模版与继承
java·jvm·c++
虾条_花吹雪8 小时前
Using Spring for Apache Pulsar:Message Production
java·ai·中间件
tomorrow.hello8 小时前
Java并发测试工具
java·开发语言·测试工具
Moso_Rx9 小时前
javaEE——synchronized关键字
java·java-ee
张小洛9 小时前
Spring AOP 是如何生效的(入口源码级解析)?
java·后端·spring
DKPT9 小时前
Java设计模式之行为型模式(观察者模式)介绍与说明
java·笔记·学习·观察者模式·设计模式
追风少年浪子彦10 小时前
mapstruct与lombok冲突原因及解决方案
java·spring boot·spring·spring cloud