Java应用文件上传超出默认大小

问题:100多兆文件上传时报错

现象:在做内网穿透到外网服务器时,对于137M的文件上传报错,但是37.246M的可以

具体报错信息:
org.apache.tomcat.util.http.fileupload.impl.SizeLimitExceededException: the request was rejected because its size (143150319) exceeds the configured maximum (104857600)
    at....

问题分析:

内到外网请求(内网->代理服务器应用(下面用A替代)->nginx->外网测试应用(下面用B替代)),一开始就排除了nginx,因为nginx设置了可以传200M,那么有可能是A和B应用有限制,查看日志后发现A果然报错了,改完A的配置后;发现还是报错了,这次是B,出现和A一样的报错信息。

解决问题:

在代理服务器应用(delagate- in2out.jar)和外网测试应用(gateway-new-in-0.0.1-SNAPSHOT.jar)都加了如下配置,然后解决问题

spring:
  servlet:
    multipart:
      max-file-size: 1000MB
      max-request-size: 20000MB

总结:文件上传超出默认大小

当设置Spring Boot应用程序中的文件上传大小时,需要关注两个主要方面:Tomcat服务器的配置Spring的multipart配置

1. Tomcat服务器的配置

在application.yml(或application.properties)中,可以通过以下配置设置Tomcat服务器的最大HTTP FORM POST请求大小:

server:
  port: 8802
  tomcat:
    max-http-form-post-size: 1000MB

这里的 max-http-form-post-size 属性用于设置最大的HTTP FORM POST请求大小,包括文件上传在内。

2. Spring的multipart配置

另一方面,如果想要设置Spring的multipart相关的上传文件大小,可以通过以下配置:

spring:
  servlet:
    multipart:
      max-file-size: 1000MB
      max-request-size: 20000MB

这里的max-file-size 用于设置单个文件的最大大小,而 max-request-size 用于设置总上传的文件大小。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值