最近在做从图片中读取身份证信息。
使用阿里的接口,印刷文字识别_身份证识别,有需要的可以看看
https://market.aliyun.com/products/57124001/cmapi010401.html?spm=5176.8243888.554823.2.wXf26h#sku=yuncode440100000
其中参数需要 "base64_image_string(#括号内为描述,不需上传,图片以base64编码的string)"。
以上是介绍,
紧接着从把本地的图片做测试没有问题,代码片段:
InputStream in = new FileInputStream("d:/1.jpg");
data = new byte[in.available()];
in.read(data);
//对字节数组Base64编码
sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();
//返回Base64编码过的字节数组字符串
return encoder.encode(data);
但实际上 不会从本地拿图片,要从网络上获取图片,获取到的InputStream却和以本地获取的方式不一样,没有明白是为什么
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(5000);
conn.setConnectTimeout(5000);
conn.setRequestMethod("GET");
if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
InputStream inputStream = conn.getInputStream();
return inputStream; //和这种方式获取的in 不一样 InputStream in = new FileInputStream("d:/1.jpg");
}