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 #不做限制
相关推荐
考虑考虑2 小时前
JDK26中的List.ofLazy()
java·后端·java ee
小蒜学长2 小时前
基于SpringBoot的公寓报修管理系统的设计与实现(代码+数据库+LW)
java·spring boot·后端·公寓报修管理系统·多角色协同
for_ever_love__3 小时前
MySQL 主从复制讲透:binlog 原理、搭建步骤与读写分离
java·数据库·mysql·binlog·读写分离·原理·主从复制
小π军5 小时前
操作系统面试题
java·linux·服务器
倔强的石头1065 小时前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Shaoshing6 小时前
ThreadLocal
java·jvm·threadlocal
写后端的胖头鱼6 小时前
一文详解CAS
java·jvm·spring·cas·乐观锁·自旋
鱼宵6 小时前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
蜗牛互联网6 小时前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python