2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > js如何实现扫描身份证识别_JS调用阿里云OCR身份证识别

js如何实现扫描身份证识别_JS调用阿里云OCR身份证识别

时间:2022-11-14 16:53:16

相关推荐

js如何实现扫描身份证识别_JS调用阿里云OCR身份证识别

因为工作原因,需要调取阿里云OCR身份证识别,但是阿里云给的请求示例都是后台调用的代码,由于特殊原因,我需要的是前台JS调用,所以决定自己尝试一下,最后成功调用了,废话不多说,直接上代码。

var json = {

"image":imp,

"configure": "{\"side\":\"face\"}"

};

$.ajax({

crossDomain: true,

beforeSend: function(req) {

req.setRequestHeader("Content-Type", "application/octet-stream; charset=utf-8");

req.setRequestHeader("Authorization", "APPCODE AppCode值");

},

type: "POST",

url:"http://dm-51./rest/160601/ocr/ocr_idcard.json",

dateType:"JSON",

data: JSON.stringify(json),

error: function(request) {

alert("识别失败,请重新上传照片或手动输入");

},

success: function(data) {

var obj = JSON.parse(data);

document.getElementById('Name').value = obj.name;

document.getElementById('sex').value = obj.sex;

document.getElementById('national').value = obj.nationality;

document.getElementById('IdCard').value = obj.num;

document.getElementById('address').value = obj.address;

}

});

{

"image": "图片二进制数据的base64编码",

"configure": "{\"side\":\"face\"}" #正面/反面:face/back

}

这些说明了Ajax的type,url 及 dateType,由于存在跨域问题,于是在Ajax中添加了crossDomain: true,但是发现还存在appcode认证问题,还好阿里云提供了一个调试工具,在调试工具中调试后发现,appcode是写在headers中的,且它的Content-Type为application/octet-stream; charset=utf-8,于是在Ajax中添加了:

beforeSend: function(req) {

req.setRequestHeader("Content-Type", "application/octet-stream; charset=utf-8");

req.setRequestHeader("Authorization", "APPCODE AppCode值");

}

这样就可以正常的传值了,最后再对传回的值做处理就可以了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。