Tomcat上传文件大小限制

本文介绍了在使用Struts2框架时遇到的文件上传大小限制问题及其解决方案。文章指出,在Tomcat服务器环境下,即使配置了maxPostSize属性也无法解决文件上传大小受限的问题。最终通过在struts.xml文件中设置struts.multipart.maxSize参数成功解决了该问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

不论是使用原生的fileupload组件还是使用struts2,进行文件上传,当总大小超过限制后,都不能正确转到页面

tomcat版本6.0.44,web版本2.5

查询后多数人说在server.xml中添加maxPostSize属性:

<Connector maxSwallowSize="-1" port="8080" protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" maxPostSize="0"/>

但无济于事,但在查询中发现别人的问题,用的正是上述方式解决,问题链接:

https://blog.youkuaiyun.com/rocklee/article/details/53940433

又发现另一种说法:

  • 用户上传超过指定的单个文件大小,会报异常: 
  • FileSizeLimitExceededException
  • 超过多个文件大小,会报异常: 
  • SizeLimitExceededException
  • 在catch这些异常时,有时会给用户以响应,通过request域设置错误信息,但是当用户上传的文件超过限制的大小过大时,并不会转发,这是tomcat的bug

最后我的解决方案:

maxPostSize 是针对application/x-www-form-urlencoded 这种类型的,而文件上传是multipart/form-data。

目前已找到的解决方式为:

第三就是如果用的struts2 那么可以在struts.xml 文件中修改加一个

<constant name="struts.multipart.maxSize" value="10000000" />

实测可用

原文链接:

https://www.oschina.net/question/1378083_247057

https://blog.youkuaiyun.com/Q1059081877Q/article/details/46945045

https://blog.youkuaiyun.com/adsl624153/article/details/72803626?locationNum=8&fps=1

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值