uniapp 调用阿里云OCR行驶证识别
1、阿里云-文字设别-行驶证设别印刷文字识别-行驶证识别/OCR文字识别(限时特惠,折扣享不停)【最新版】-云市场-阿里云2、 购买完后 获取AppKey AppCode数据3、前端页面4、完整代码 图片不能大于1.5Mmethods: {carScan() {let configure = "{'side': 'face'}"// face正面 back反面uni.chooseImage({co
·
1、阿里云-文字设别-行驶证设别
印刷文字识别-行驶证识别/OCR文字识别(限时特惠,折扣享不停)【最新版】-云市场-阿里云
2、 购买完后 获取AppKey AppCode数据
3、前端页面
4、完整代码 图片不能大于1.5M
methods: {
carScan() {
let configure = "{'side': 'face'}"// face正面 back反面
uni.chooseImage({
count: 1,
sizeType: ['compressed'],
sourceType: ['album', 'camera'],
success: (res) => {
//console.log(res);
const tempFilePaths = res.tempFilePaths;
const fileSize = res.tempFiles[0].size;
if(fileSize > 1500000) {
return this.$u.toast('不能大于1.5M~', 1000);
}
uni.showLoading({title: '识别中...',mask: true})
pathToBase64(tempFilePaths[0]).then( base64 => {
//console.log('11', base64)
let str = base64.substring(base64.indexOf(',')+1)
//console.log(str);
this.$u.post('https://driving.market.alicloudapi.com/rest/160601/ocr/ocr_vehicle.json', {
"image": str,
"configure": configure
}, {
'Authorization': 'APPCODE xxxxxxxxxxxxx'
}).then( res => {
uni.hideLoading()
this.form.user_name = res.owner
this.form.carnumber = res.plate_num
this.form.vin = res.vin
this.form.engine = res.engine_num
//console.log(res);
this.$u.toast('识别成功~', 800);
}).catch(er => {
uni.hideLoading()
this.$u.toast('识别失败~', 800);
});
}).catch(error => {
uni.hideLoading()
console.log(error)
})
}
})
},
}
6、注意查看阿里云-行驶证设别 文档
7、这里在传参数时要注意传入参数的正确格式,另外在传入base64码时是不需要传入base64的文件头的;
完整的base64码
data:image/jpeg;base64,/9j/4QsJRXhpZgAATU0AKgAAAAgADAEQAAIAAAALAAAAngEA......
8 、要截取“,"导号后面的数据
1. 先使用js中的 indexOf 方法找到 ',' 字符的下标
2. 使用 js 中的 substring 方法 直接截取 下标后面的值
str.substring(str.indexOf(',')+1)
9、其中header头是APPCODE,用空格隔开
header: {
'Authorization': 'APPCODE 546846841465484145498'//APPCODE值
},
10、可查看调用API商品 - API 网关 - 阿里云
11、pathToBase64 转码 函数
从插件市场查找image-tools - DCloud 插件市场
放到common目录 import即可
import { pathToBase64 } from '@/common/index.js'
更多推荐
已为社区贡献6条内容
所有评论(0)