前段时间,开发时发现了一个问题,页面调用接口传参,有一个接口接收不到参数,全是空,然后又测试其他接口没有问题,这有这个接口接收不到参数,之前也没遇到过这样的问题,很是纳闷,就找不到问题的原因。
因为这个接口需要上传三张图片,H5页面调用APP的接口,识别图片,返回图片的base64编码,再传给后台接口base64的图片,所以就想到是否是因为参数数据体量太大?然后就去网上查了资料,原来tomcat post参数是有默认值限制的。
tomcat 默认的post参数的最大大小为2M, 当超过时将会出错,可以配置maxPostSize参数来改变大小。
修改tomcat post参数长度限制
在tomcat文件夹下的conf文件中的server.xml 配置中添加:
- maxPostSize:指定POST方式请求的最大量,默认为2M, -1 表示不限制大小
- maxHttpHeaderSize:HTTP请求和响应头的最大量,以字节为单位,默认值为4096字节
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8" maxPostSize="-1" maxHttpHeaderSize ="102400" />