1. 通过wx.request 将前端的formdata传给java后端 要注意
formSubmit: function(e) {
var that = this;
var formData = e.detail.value; //获取表单所有input的值
//console.log(formData.driverName);
console.log(formData);
wx.request({
url: 'http://192.168.93.8:8082/wx/upd.json',
data: formData,
method: 'get',
header: {
'content-type': 'application/x-www-form-urlencoded' //post
'content-type': 'application/x-www-form-urlencoded' //get 此处 2选一 别都写上了
},
success: function(e) {
}
})
},
后端接收
public String upd(AuditInfo bean) 用对象就行
小程序上传图片的调试问题
如果是本地调试(PC端直接调试),接口可以用http:ip+port访问后端
如果是手机真机调试,则需要通过frp穿透 ,用域名http://www....com去,则可以通过手机访问到。忽略https校验
小程序外网服务调试遇到的问题
首先用post请求貌似不接收,原因我没去追究,改为get先
但是接下来,上传接口出现的问题 必须记录一下
首先本地 JDK1.8 TOMCAT8.5 IDEA运行项目,用Postmain测试OK,上传成功
然后把服务打包部署到阿里云服务器,https访问,上传始终失败,最终找到了tomcat报错
java.lang.IllegalStateException: The multi-part request contained parameter data (excluding uploaded files) that exceeded the limit for maxPostSize set on the associated connector
最终确定了问题原因:post请求大小超出限制,需要去设置一下。在尝试设置http max file size等不行的情况下,最终缩小到 设置postsize ,部署在外网,外部tomcat,那就先看tomcat postsize设置吧
原来,使用https的时候,在server.xml里,有个参数
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="C:\Program Files\apache-tomcat-8.0.53\cert\1541491_www.rjgcs.xyz.pfx"
keystoreType="PKCS12"
keystorePass="nEUW1p1U"
maxPostSize="10240000"
/>
maxPostSize我看到的时候是maxPostSize=‘0’,我将数值改为10240000.。。再去上传,发现成功了
也就是说,本地成功了,是因为我设置过IDEA内部tomcat max file 等属性,外部tomcat 尤其是用了https的时候,需要在server.xml里面进行设置。问题不大,但是需要细心找,慢慢推敲,测试,最终解决了