关于spring中使用 Undertow 作为嵌入式服务器上传文件但是限制的代码不生效问题

背景:

在做毕业设计的时候发现了使用 Undertow 作为嵌入式服务器上传文件限制的代码不生效,只能上传1MB以内的图片,一旦上传超过1MB的图片就会报错。

代码:

spring:
  datasource:
    hikari:
      idle-timeout: 600000  #10 min
      max-lifetime: 1800000 #30 min
    servlet:
      multipart:
        max-file-size: 10MB
        max-request-size: 10MB

错误提示:

The maximum size 1048576 for an individual file in a multipart request was exceeded

思路:

一开始以为是Java代码本地的配置覆盖了application.yml或代码中设置了最大文件,但是排查了很久都没有发现问题。然后又去排查检查是否缺少其他 Spring Boot 自动配置与 Undertow 文件上传大小的配置发生冲突,但是,排查完了发现都不是这些问题。

解决方法:

最后都准备放弃了,想着再检查一遍application.yml配置文件,结果发现是缩进的原因,servlet没有和datasource对齐!!就很气,也很搞笑,就那么个简单的问题,一直迷迷糊糊的没有找到。。。

 

posted @ 2024-05-26 15:24  小刘爱学习呀  阅读(542)  评论(0)    收藏  举报