当前位置: 代码网 > it编程>编程语言>Java > SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

2025年04月25日 Java 我要评论
项目场景提示:项目相关背景:项目场景:基于spring boot的文件上传服务,使用minio作为分布式文件存储系统。用户需要上传超过1mb的文件到minio存储桶中。问题描述前端传图片给后端时,后端

项目场景

提示:项目相关背景:

项目场景:

  • 基于spring boot的文件上传服务,使用minio作为分布式文件存储系统。
  • 用户需要上传超过1mb的文件到minio存储桶中。

问题描述

前端传图片给后端时,后端服务器报错:

required request parameter 'examcard' for method parameter type string is not present:

文件上传失败,系统报错显示文件大小超过限制。具体错误信息表明:

  • 当前上传的文件超过了1048576字节(1mb)的限制
  • 错误与minio服务无关,是spring boot应用层的限制

原因分析

一开始以为是图片大小超过了minio单次上传文件的大小,后来排查发现是超过了spring boot默认的文件上传限制。

spring boot默认配置了严格的文件上传限制:

  1. 默认max-file-size为1mb(1048576字节)
  2. 默认max-request-size也为1mb
  3. 这些限制是spring boot的安全机制,防止大文件上传导致的服务资源耗尽
  4. minio服务本身没有这个限制,问题出在spring boot应用层

解决方案

application.yml配置文件中增加以下配置:

spring:
  servlet:
    multipart:
      max-file-size: 10mb    # 单个文件最大大小限制
      max-request-size: 100mb # 整个请求最大大小限制

配置说明:

  • max-file-size:控制单个上传文件的最大尺寸(示例设置为10mb)
  • max-request-size:控制多文件上传时整个请求的最大尺寸(示例设置为100mb)

这些值可根据实际业务需求调整

修改后需要重启应用生效

注意:

生产环境应根据实际硬件资源和业务需求合理设置这些值,避免设置过大导致内存溢出风险。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com