近期在做一个H5活体检测的项目(springboot+thymeleaf),用了很久之前官方给出的示例工程。在测试过程中,发现当传输的视频数据大于1.7m时就会失败:net::ERR_CONNECTION_RESET
代码是这样:
var t = this, i = {
type: "faceliveness_verify",
apiType: "faceliveness",
session_id: e,
video_base64: n.result.split(",")[1]
};
o.a.post("/aidemo").type("form").send(i).then(function (e) {
var i = e.body, r = i.err_no, o = i.data;
r ? t.errorContent() : (s.showLoading = !1, s.showResult = !0, s.videoResultDetail = o, s.showVerifyCodeModal = !1)
})
当video_base64过大时就会出错。
原因:
项目的内置服务器对htp post数据传输有大小的限制,具体是多少不知道,以我这次经历来说是不大于1.7m。
解决办法:
调高"maxpostsize",以我的解决办法为例,在application.properties添加配置:我这里配置了20m
server.tomcat.max-http-post-size=20480000
之后解决了文件过大传输失败的问题。
结语:
注意我这个是post传输base64也就是字符串的,不同于传输file文件的。另外最终的解决办法不一定和我的一样,反正思路就是要调高内置服务器对传输数据size的峰值,只要按着这个思路走,离解决问题就不远了!