当前位置: 首页 > Web前端 > HTML

在使用百度的人脸识别的时候有几个需要注意的地方(主要是一些报错)

时间:2023-04-02 17:52:08 HTML

在使用百度人脸识别时,有几点需要注意(主要是一些报错)。this不能在函数中获取,也不能传值到全局解决办法:如果遇到这个问题,在reader.onload函数外层使用letthat=this记录this,这样就可以获取到this里面用那个在调整百度接口的时候遇到了错误,信息是:"errorcode":222200,"errormsg":"requestbodyshouldbejsonformat"。解决方案:当时我的数据直接是一个对象,只要把对象包裹在方括号中就变成了一个数组,如下letdata={,=[{}]调整参数格式后,界面再次调用,又报错:imagecheckfail,错误码222203。这个问题是因为传入参数中base64格式的图片有图片头(data:image/jpg;base64)base64,/,"")附上调用人脸识别的整个函数//获取上传图片的信息getImgUrl(e){//console.log(e.target.files\[0\])letdata=e.target.files\[0\]//图片转base64this.changeImg(data)},//图片base64转换changeImg(文件){letthat=thisvarreader=newFileReader();变种AllowImgFileSize=2100000;//上传图片的最大值(字节)(2M=2097152B)上传超过2M失败//varfile=$("#image")\[0\].files\[0\];变种imgUrlBase64;if(file){//将文件读入页面作为DataURLimgUrlBase64=reader.readAsDataURL(file);读者。onload=function(e){//varImgFileSize=reader.result.substring(reader.result.indexOf(",")+1).length;//截取base64代码部分(可选,需要与后台通信)if(AllowImgFileSize!=0&&AllowImgFileSize{console.log(res)}).catch(err=>{console.log(err)}}}}希望对一些童鞋有所帮助