前言
百度識別api是一個非常實用的工具,他可以非常有效的進行身份信息讀取,我們可以通過他來獲取到身份證上的所有信息,百度識別不管只具有身份證識別,還有很多證件的識別api。
接下來我們說具體實現(xiàn)流程:首先要引用SDK包,然后獲取百度地圖提供的accessToken碼,然后存入圖片路徑進行數(shù)據(jù)返回。
1.引入百度地圖SDK包
(1)在http://ai.baidu.com/sdk下載SDK
(2)將下載的aip-java-sdk-version.zip解壓后,復(fù)制到工程文件夾中。
(3)在Eclipse右鍵“工程 -> Properties -> Java Build Path -> Add JARs”。
(4)添加SDK工具包aip-java-sdk-version.jar和第三方依賴工具包json-20160810.jar log4j-1.2.17.jar。
2.獲取accessToken
package com.telematics.wx.util;
import org.json.JSONObject;
import .BufferedReader;
import .InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.List;
import java.util.Map;
/**
}
3.進行識別
@RequestMapping(“test”)
@ResponseBody
public String test(HttpServletRequest request,HttpServletResponse response, ModelMap model,HttpSession session){
System.out.println(“進入身份識別”);
// 身份證識別url
String idcardIdentificate = “https://aip./rest/2.0/ocr/v1/idcard”;
// 本地圖片路徑
String path=session.getServletContext().getRealPath("/upload");
System.out.println(“根目錄路徑” path);
String filePath = path "\" “shenfenzheng.jpg”;
System.out.println(“圖片路徑” filePath);
try {
byte[] imgData = FileUtil.readFileByBytes(filePath);//使用工具類進行轉(zhuǎn)碼
String imgStr = Base64Util.encode(imgData);//百度地圖的所有圖片均需要base64編碼、去掉編碼頭后再進行urlencode。//import com.baidu.aip.util.Base64Util;
// 識別身份證正面id_card_side=front;識別身份證背面id_card_side=back;
String params = “id_card_side=front&” URLEncoder.encode(“image”, “UTF-8”) “=”
URLEncoder.encode(imgStr, “UTF-8”);
String token=AuthService.getAuth();//調(diào)用上面的accessToken碼代碼
String accessToken = token;
String result = HttpUtil.post(idcardIdentificate, accessToken, params);
System.out.println(result);
} catch (Exception e) {
e.printStackTrace();
}
return “0”;
}
4.工具類
package com.goocom.util;
import .*;
/**
來源:http://www./content-1-202201.html
|