欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  互联网

uniapp 调用阿里云OCR身份证识别

程序员文章站 2022-03-11 10:03:25
uniapp 调用阿里云OCR身份证识别有个项目需求用到阿里云印刷身份证识别,网上搜了很多没有参考,话不多说爬坑总结;第一步先注册阿里云账号点击注册阿里云账号已有账号忽略;阿里云身份证识别购买第一次购买可以0元调用500次测试购买后在下边会有调用api的接口和调用接口后返回的参数话不多少上代码简单明了,上代码这里需要注意下 也是我遇见的坑 发送请求的时候一定要写上请求头 是你买完身份证识别后的appcode ,点击这里查看你的appcode此时你的appcode格式也一定要对 下面展示...

uniapp 调用阿里云OCR身份证识别

有个项目需求用到阿里云印刷身份证识别,网上搜了很多没有参考,话不多说爬坑总结;
第一步先注册阿里云账号点击注册阿里云账号已有账号忽略;

  1. 阿里云身份证识别购买第一次购买可以0元调用500次测试uniapp 调用阿里云OCR身份证识别
  2. 购买后在下边会有调用api的接口uniapp 调用阿里云OCR身份证识别和调用接口后返回的参数话不多少上代码简单明了,
  3. 上代码uniapp 调用阿里云OCR身份证识别
  4. 这里需要注意下 也是我遇见的坑 发送请求的时候一定要写上请求头 是你买完身份证识别后的appcode ,点击这里查看你的appcodeuniapp 调用阿里云OCR身份证识别
  5. 此时你的appcode格式也一定要对 下面展示格式注意注释内容 内联代码片
// APPCODE和你的数字之间一定要有个空格否则接口返回400
 header: {
	     'Authorization': 'APPCODE 546846841465484145498'//APPCODE值
	    },

6.请求方式为POST,返回的数据格式为JSON,请求时的参数主要有两个, 一个是识别图片的base64码,另一个是要识别身份证的正面还是反面(face: 正面; back: 反面);

这里在传参数时要注意传入参数的正确格式,另外在传入base64码时是不需要传入base64的文件头的;

图片base64编码字符串的截取
举例:
如下的base64字符串:

data:image/jpeg;base64,/9j/4QsJRXhpZgAATU0AKgAAAAgADAEQAAIAAAALAAAAngEA......

现在我们需要是base64,后面的字符串:

截取方法:
	1. 先使用js中的 indexOf 方法找到 ',' 字符的下标
	2. 使用 js 中的 substring 方法 直接截取 下标后面的值
	
	str.substring(str.indexOf(',')+1)

看代码中的例子uniapp 调用阿里云OCR身份证识别
7.下面我把源码,放出来仅供参考
下面展示一些 内联代码片

// 选取图片
			chooseImage(e) {
				console.log(e)
				if(e == 'face'){
					var configure = "{'side':'face'}" //face正面、back反面
				}else{
					var configure = "{'side':'back'}"
				}
				var that = this
				uni.chooseImage({
					count: 1,
					sizeType: ['original'],
					sourceType: ['album'],//从相册选取
					success: (res) => {
						console.log(res);
						const tempFilePaths = res.tempFilePaths;
						pathToBase64(tempFilePaths[0])
							.then(base64 => {
								console.log('11', base64)
								let str = base64.substring(base64.indexOf(',')+1)
								console.log(str);
								var json = {
									"image": str,
									"configure": configure
								};
								console.log(json)
								uni.request({
									url: 'http://dm-51.data.aliyun.com/rest/160601/ocr/ocr_idcard.json',//测试api
									dataType:'json',
									 header: {
									        'Authorization': 'APPCODE +你的APPCODE值'//APPCODE值
									    },
									method: 'POST',
									data: JSON.stringify(json),
									success(res) {
										console.log(res);
									}
								})
							})
							.catch(error => {
								console.error(error)
							})
					}
				})
			}

本文地址:https://blog.csdn.net/weixin_45410804/article/details/110178374

相关标签: vue.js