欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

POST请求数据量过大,后端请求获取参数为null

程序员文章站 2024-01-26 21:57:58
...
String xxxxx = request.getParameter("xxxx");
//此值为前端js获取的文件的Base64字符串,通过post请求提交至后台

 当文件小于2M时,一切正常,当文件大于2M时,request拿不到参数,都为null.
 开始分析问题原因:
    1.post请求正常不会限制数据大小,排除。
    2.tomcat的server.xml有maxPostSize这项参数会限制post请求大小,默认大小为2M.
 

<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" maxPostSize="20971520"/>

  3.增大maxPostSize之后发现问题仍然没有解决,于是想到会不会是框架限制,于是查到struts的限制post的默认大小也为2M,于是修改 struts.properties,  struts.multipart.maxSize = 20971520 ,问题解决。

struts.i18n.encoding=UTF-8
struts.action.extension=do
struts.locale=zh_CN
struts.custom.i18n.resources=message
struts.multipart.saveDir=/tmp
struts.enable.SlashesInActionNames = true
struts.multipart.maxSize = 20971520