tomcat9.0.31部署项目,fileupload parserequest返回值为空 http可以正常上传文件,https会出错。解决方案

在CentOS7.3上使用Tomcat9.0.31、fileupload和HTTPS部署项目时,遇到超过2KB的图片无法上传的问题。尝试记录日志、修改Tomcat配置(maxPostSize,maxSwallowSize)和调整Spring/Struts2框架配置未果。最终通过将Tomcat版本降级到9.0.29解决了问题。

这两天部署tomcat项目除了问题。发现用https连接无法上传超过2kb的图片。关于这个问题尝试了一下解决方案

环境:centos7.3+tomcat9.0.31+fileupload+https

利用fileupload上传表单文件,发现只要文件超过2kb,https请求不能正常上传。
由于还没有学日志,不知道是出了什么问题,catalina.out也没有报错,于是屁颠屁颠地百度了如何记录日志,结果发现fileupload.parserequest返回空列表。在这里插入图片描述
怀疑是inputstream被读过(inputstream无法多次读取,只能读取一次)检查了前面
发现之前的代码没有问题。

request.getParameter();
request.getParameterMap();
request.getParameterNames();
request.getParameterValues
org.apache.tomcat.util.http.fileupload.impl.FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes. at org.apache.tomcat.util.http.fileupload.impl.FileItemStreamImpl$1.raiseError(FileItemStreamImpl.java:117) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.checkLimit(LimitedInputStream.java:76) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.http.fileupload.util.LimitedInputStream.read(LimitedInputStream.java:135) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at java.io.FilterInputStream.read(FilterInputStream.java:107) ~[na:1.8.0_372] at org.apache.tomcat.util.http.fileupload.util.Streams.copy(Streams.java:97) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.tomcat.util.http.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:288) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.connector.Request.parseParts(Request.java:2932) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.connector.Request.getParts(Request.java:2834) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.apache.catalina.connector.RequestFacade.getParts(RequestFacade.java:1098) ~[tomcat-embed-core-9.0.69.jar:9.0.69] at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:95) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.<init>(StandardMultipartHttpServletRequest.java:88) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.multipart.support.StandardServletMultipartResolver.resolveMultipart(StandardServletMultipartResolver.java:122) ~[spring-web-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.checkMultipart(DispatcherServlet.java:1209) ~[spring-webmvc-5.3.24.jar:5.3.24] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) ~[spring-webmvc
05-05
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值