struts2上传文件异常

本文介绍了解决Struts2框架中使用fileUpload拦截器上传图片时遇到的大小限制问题。通过调整struts.xml配置文件中的struts.multipart.maxSize参数,成功解决了上传大于2M图片时的异常情况。

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

最近有在上传图片时候遇到一个问题,就是拦截器在拦截图片大小的时候,总是出现莫名的错误,那个提示错误的总是有时出来,有时候不出来,我在前台js进行图片的验证,但是感觉这样好像还行,因为前台验证的话既有浏览器不兼容的问题,而且错误提示也很不友好,于是以为是哪里配置错了,但是检查很多次都没发现什么问题,发现struts2内置的fileUpload拦截器,总是用着不舒服,看了拦截器FileUploadInterceptor.java的源代码,还是不明白,百度、Google了许久,终于找到了,弄明白了原因之所在,由于common-fileupload组件默认最大支持上传文件的大小为2M,而我在测试上传图片的时候,有的大于2M,有的小于2M,当上传大于2M的文件时,就会出现org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException异常。而我在控制台上并没有打印出这个异常,这个异常的发生导致了fileUpload拦截器没有机会执行,所以在上传2M以上的图片时,页面只是一闪而过,仍然停留在之前定义的input页面,什么错误提示都没,
解决方法 在struts.xml 的struts标签 里面添加
  <constant name="struts.multipart.maxSize" value="10485760"/>
 把限制上传文件的大小定义的大一些,问题就解决了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值