一、有这么一个需求,微信小程序选择相册或者相机驾驶证图片,上传到服务器通过 【ocr】识别,把驾驶证上的车架号、车牌号、发动机号等等信息识别出来
image.png二、代码如下
// 选择图片
chooseImg() {
wx.chooseImage({
count: 1, // 可以选择图片的张数
sizeType: ['original'], // 选择
success: (chooseImageRes) => {
let tempFilePaths = chooseImageRes.tempFilePaths;
// 上传的图片进行压缩
wx.compressImage({
src: tempFilePaths[0], // 图片路径
quality: 3, // 压缩质量
success: (res) => {
const FilePaths = res.tempFilePath;
this.ocrImg(FilePaths);
}
})
}
});
},
// 识别驾驶证信息
ocrImg(FilePaths) {
uni.showLoading({
title: '卖力识别中~',
mask: true,
});
uni.uploadFile({
url: 'https://api-dev.hangzhouhuiyao.cn/ai/ocr',
filePath: FilePaths,
name: 'img',
header: {
'Content-Type': 'multipart/form-data',
AUTH_TOKEN: uni.getStorageSync('AUTH_TOKEN')
},
formData: {
'ocrType': 'VEHICLE_LICENSE',
},
success: (uploadFileRes) => {
uni.showToast({
title: '识别成功',
icon: 'success',
duration: 2000
})
let result = JSON.parse(uploadFileRes.data);
let carObj = result.data;
if (result.code === 1) {
this.carObj.registerTime = carObj.register_date || '';
this.carObj.vinNo = carObj.vin || '';
this.carObj.engine_no = carObj.engine_no || '';
this.plateNo = carObj.number.substring(1) || '';
this.plateArea = carObj.number.substring(0, 1) || '';
uni.hideLoading();
} else {
uni.showToast({
title: result.local,
icon: 'none',
duration: 3000
})
}
},
});
},
三、上传的接口对应的参数如下
image.pngimage.png
网友评论