人脸识别前端及GET\POST方式比较
在vue中使用了tracking插件,使用前要安装依赖npm install tracking并导入资源。
导入时的路径怎么写?
tracking、element-ui这些插件在导入时都从它们这级目录开始,不用从上级目录node_modules开始
html部分
dom中创建两个元素
<video width="320" height="240" ref="videoDom" id="video" preload autoplay loop muted></video>
<canvas width="320" height="240" ref="canvasDOM"></canvas>
这里的video是用来展示视频流的,也就是摄像头调用后,在video中可以看到我们的脸
canvas则是用来绘制识别人脸的框框,所以这两个元素我们需要使用定位重叠起来
js部分
在发送请求时,报了 “请求太长,没法解析” 的错,此时是用get方式发送请求的。控制台看了下请求,可能是因为base64编码,图片名特别长。(经常能看到好多网页链接特别长,而且包含很多%,就是因为用了base64编码)
后来改成post方式,不报这个错了,因为
传送方式不一样,get通过地址栏传输,post通过报文传输。因此传送长度也不一样,get参数有长度限制(受限于url长度),而post无限制。
但是报400错,那就是参数没匹配上,此时我是用跟写params一样的方式来写data的
后来看了老师之前写post请求时,用formdata来装的请求参数,说明没有我这种写法,改后报错消失。
此外我以这种方式写时,
控制台上显示我是get方式,是因为没指明的话,默认是get方式
代码参考了https://www.chensheng.group/2020/01/20/116-%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB/