当前位置: 首页 > news >正文

Spring Boot 文件上传大小配置错误解决方案

问题描述

在Spring Boot应用中出现以下错误:

Failed to bind properties under 'spring.servlet.multipart.max-file-size’ to org.springframework.util.unit.Datasize
Property:spring.servlet.multipart.max-file-sizeValue: 10Mb
Origin: URL [file:./application-dev.yml]:23:22
Reason:failed to convert java.lang.String to org.springframework.util.unit.Datasize

错误原因

  1. 格式不正确:Spring Boot 2.x及以上版本使用DataSize类型处理大小配置

  2. 单位错误:使用了Mb而不是MB

  3. 大小写敏感:Spring Boot对单位的大小写有严格要求

解决方案

正确配置格式

application.ymlapplication.properties中使用以下格式:

YAML格式
spring:servlet:multipart:max-file-size: 10MBmax-request-size: 10MB
Properties格式
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=10MB

可用单位

Spring Boot接受的存储单位(区分大小写):

单位说明示例
B字节1024B
KB千字节(1024B)10KB
MB兆字节(1024KB)10MB
GB千兆字节(1024MB)1GB
TB万亿字节(1024GB)1TB

常见错误写法

  1. 使用小写单位:10mb ❌

  2. 使用比特单位:10Mb ❌ (Mb表示兆比特,不是兆字节)

  3. 值与单位间有空格:10 MB ❌

  4. 使用旧版格式:maxFileSize ❌ (Spring Boot 2.x后已弃用)

完整配置示例

spring:servlet:multipart:enabled: truemax-file-size: 20MB       # 单个文件最大大小max-request-size: 50MB    # 整个请求最大大小file-size-threshold: 1MB  # 文件大小阈值,超过此值会写入磁盘location: /tmp            # 临时文件存储位置

注意事项

  1. 版本差异

    • Spring Boot 1.x使用maxFileSize等属性

    • Spring Boot 2.x+使用max-file-size等属性

  2. 实际限制

    • max-file-size ≤ max-request-size

    • 建议max-request-size设置为max-file-size的2-3倍

  3. 测试验证

    • 启动应用时检查控制台输出的配置值

    • 使用Postman或curl测试大文件上传

参考文档

  • Spring Boot官方文档 - 文件上传

  • DataSize类文档

通过以上配置调整,文件大小限制的绑定错误应该能够解决。如果问题仍然存在,建议检查Spring Boot版本并确保没有其他配置覆盖了这些值。

http://www.lryc.cn/news/575563.html

相关文章:

  • 远程面试平台选声网视频通话提升候选人体验感
  • c++17标准std::filesystem常用函数
  • 微服务架构下面临的安全、合规审计挑战
  • 基于STM32的工业仓库环境智能监控系统设计
  • .NET测试工具Parasoft dotTEST内置安全标准,编码合规更高效
  • Java 大视界 -- 基于 Java 的大数据可视化在智慧城市能源消耗动态监测与优化决策中的应用(324)
  • 单RV的ROI区域算法guess
  • Java底层原理:深入理解线程与并发机制
  • window显示驱动开发—支持 DXGI DDI(四)
  • SpringBoot 中 @Transactional 的使用
  • 【开源工具】Windows一键配置防火墙阻止策略(禁止应用联网)| 附完整Python源码
  • 第一章-人工智能概述-深度学习与AI发展(2/36)
  • DAY 43 复习日
  • 二极管、三极管(BJT)、MOSFET、IGBT 以及 场效应管(FET) 的分类详解
  • gitee推送代码权限问题Permission denied (publickey)
  • LeetCode刷题-top100(和为 K 的子数组)
  • 关于物联网的基础知识(一)
  • zabbix监控Centos 服务器
  • uni-app的UTS插件开发,调用鸿蒙原生API
  • 闲庭信步使用SV搭建图像测试平台:第十三课——谈谈SV的数据类型
  • 微信小程序<rich-text>支持里面图片点击放大
  • react-嵌套路由 二级路由
  • python 爬虫 下载视频
  • C++ 中 enum 语法
  • 【模拟】N 字形变换(medium)
  • 2025最新Tomcat 安装教程(保姆级,图文讲解,带安装包)
  • Django 零基础起步:开发你的网站第一步
  • 供应链管理:供应链计划主要计算公式/方法
  • 独立开发还能做吗
  • 用户统计-01.需求分析和设计