基于base64位编码上传图片POST提交值得注意的地方

1.近期做了手机端图片上传功能,可以多图上传,原理是将图片转成base64字符串传输到服务器解码

明明前天用谷歌浏览器模拟手机用的时候好好地可以上传

今天在手机上测试怎么也无法上传图片?


发现后台报错,前台参数一个也没过来,都是null


开始以为是前台表单什么的写错了,查了半天,怎么也没用,代码也没有更改过!


2.我继续在谷歌浏览器上监听网络,发现请求头里面参数都是有传递过去的

我换了张前天上传测试的图片发现都能上传


分析,可能是手机拍的相片太大了,转成base64字符串有影响。接着百度post提交参数最大值有没有限制

看了很多回答都是理论上没有限制

基于base64位编码上传图片POST提交值得注意的地方_第1张图片


然后看到了一篇文章

关于 HTTP GET/POST 请求参数长度最大值的一个理解误区


引用原文的一段话:


 POST方法长度限制

理论上讲,POST是没有大小限制的。HTTP协议规范也没有进行大小限制,起限制作用的是服务器的处理程序的处理能力。

如:在Tomcat下取消POST大小的限制(Tomcat默认2M);

打开tomcat目录下的conf目录,打开server.xml 文件,修改

debug="0"

acceptCount="100"

connectionTimeout="20000"

disableUploadTimeout="true"

port="8080"

redirectPort="8443"

enableLookups="false"

minSpareThreads="25"

maxSpareThreads="75"

maxThreads="150"

maxPostSize="0"

URIEncoding="GBK"

增加红色字体部分 maxPostSize="0" (设为0是取消POST的大小限制)


正好我的服务器是tomcat


我按照原文改了server.xml文件

 

确实有用





你可能感兴趣的:(javaweb)