| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562 |
- using System;
- using System.Text;
- using System.Text.RegularExpressions;
- using System.Threading;
- using System.Windows;
- using Newtonsoft.Json.Linq;
- namespace ZZJIDCard
- {
- public class ZZJIDReadCard
- {
- private bool mbOpened = false;
- private Thread mthWorkThread = null;
- bool mbStopThread = true;
- bool mbSuspendReadCard = false;
- JObject resultObj = new JObject();
- int icdev = -1;
- public JObject dcinit()
- {
- JObject output = new JObject();
- String errorCode = "0";
- String errorMessage = "成功";
- icdev = T10TermbApi.dc_init(100, 115200);//打开usb端口设备,波特率设置无效
- if ((int)icdev <= 0)
- {
- //MessageBox.Show("初始化失败 打开usb端口设备失败!!!");
- errorCode = "-1";
- errorMessage = "初始化失败 打开身份证usb端口设备失败!!!";
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output;
- }
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output;
- }
- public string IDReadCard(string inParams)
- {
- // System.Diagnostics.Debugger.Launch();
- string errorCode = "0";
- string errorMessage = "";
- JObject output = new JObject();
- int olyIDCardFlag = 0;
- resultObj = new JObject();
- try
- {
- JObject inParamsobj = JObject.Parse(inParams);
- string port = inParamsobj["iport"].ToString();
- if (port != "")
- {
- //单独身份证读取
- int iPort = 0;
- int.TryParse(port, out iPort);
- if (iPort > 0)
- {
- int ret = TermbApi.InitComm(iPort);
- if (ret > 0)
- {
- olyIDCardFlag = 1;
- byte[] value = new byte[64];
- TermbApi.GetSAMID(value);
- String strSamId = Encoding.GetEncoding("GBK").GetString(value);
- strSamId = strSamId.Replace("\0", "");
- mbOpened = true;
- mbStopThread = false;
- mthWorkThread = new Thread(new ThreadStart(readCard));
- mthWorkThread.IsBackground = true;
- mthWorkThread.Start();
- }
- }
- }
- }
- catch (Exception ex2)
- {
- }
- try
- {
- if (olyIDCardFlag == 1)
- {
- mbStopThread = true;
- mthWorkThread.Join();
- TermbApi.CloseComm(); ////"设备连接断开!";
- mbOpened = false;
- }
- }
- catch (Exception ex2)
- {
- errorCode = "-1";
- errorMessage = ex2.Message;
- }
- if (olyIDCardFlag == 1)
- {
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- output.Add("result", resultObj);
- return output.ToString();
- }
- ///////////////以下为非单独身份证读取////////////////////////////////////
- int st = -1;
- try
- {
- if (olyIDCardFlag == 0)
- {
- //非单独身份证读取
- if ((int)icdev <= 0)
- {
- JObject dcinitoutobj = dcinit();
- if (dcinitoutobj["errorCode"].ToString() != "0")
- {
- return output.ToString();
- }
- }
- //MessageBox.Show("2:"+icdev.ToString());
- if ((int)icdev <= 0)
- {
- errorCode = "-1";
- errorMessage = "初始化失败 打开身份证usb端口设备失败!!!";
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output.ToString();
- }
- int result = -1;
- int text_len = 0;
- byte[] text = new byte[256];
- int photo_len = 204800;
- byte[] photo = new byte[204800];
- int fingerprint_len = 0;
- byte[] fingerprint = new byte[1024];
- int extra_len = 0;
- byte[] extra = new byte[70];
- int type = 0;
- string tempbuffer;
- byte[] name = new byte[64];
- byte[] sex = new byte[8];
- byte[] nation = new byte[12];
- byte[] birth_day = new byte[30];
- byte[] address = new byte[125];
- byte[] id_number = new byte[60];
- byte[] department = new byte[64];
- byte[] expire_start_day = new byte[36];
- byte[] expire_end_day = new byte[36];
- byte[] reserved = new byte[76];
- byte[] info_buffer = new byte[64];
- result = T10TermbApi.dc_SamAReadCardInfo(icdev, 3, ref text_len, text, ref photo_len, photo, ref fingerprint_len, fingerprint, ref extra_len, extra);
- //MessageBox.Show(result.ToString());
- if (result != 0)
- {
- //st = T10TermbApi.dc_exit(icdev);
- //MessageBox.Show("3:" + st.ToString());
- errorCode = "-1";
- errorMessage = "读取失败!!!!!";
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output.ToString();
- }
- if ((text[0] >= 'A') && (text[0] <= 'Z') && (text[1] == 0))
- {
- type = 1;
- }
- if (type == 0)
- {
- result = T10TermbApi.dc_ParseTextInfo(icdev, 0, text_len, text, name, sex, nation, birth_day, address, id_number, department, expire_start_day, expire_end_day, reserved);
- if (result != 0)
- {
- //st = T10TermbApi.dc_exit(icdev);
- errorCode = "-1";
- errorMessage = "读取失败!!!!!";
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output.ToString();
- }
- resultObj.Add("name", Regex.Replace(System.Text.Encoding.Default.GetString(name), "\u0000", ""));
- T10TermbApi.dc_ParseOtherInfo(icdev, 0, sex, info_buffer);
- resultObj.Add("sex", Regex.Replace(System.Text.Encoding.Default.GetString(info_buffer), "\u0000", ""));
- T10TermbApi.dc_ParseOtherInfo(icdev, 1, nation, info_buffer);
- resultObj.Add("nation", Regex.Replace(System.Text.Encoding.Default.GetString(info_buffer), "\u0000", ""));
- resultObj.Add("birth_day", Regex.Replace(System.Text.Encoding.Default.GetString(birth_day), "\u0000", ""));
- resultObj.Add("address", Regex.Replace(System.Text.Encoding.Default.GetString(address), "\u0000", ""));
- resultObj.Add("id_number", Regex.Replace(System.Text.Encoding.Default.GetString(id_number), "\u0000", ""));
- resultObj.Add("department", Regex.Replace(System.Text.Encoding.Default.GetString(department), "\u0000", ""));
- resultObj.Add("expire_start_day", Regex.Replace(System.Text.Encoding.Default.GetString(expire_start_day), "\u0000", ""));
- resultObj.Add("expire_end_day", Regex.Replace(System.Text.Encoding.Default.GetString(expire_end_day), "\u0000", ""));
- }
- else if (type == 1)
- {
- byte[] english_name = new byte[244];
- byte[] citizenship = new byte[16];
- byte[] chinese_name = new byte[64];
- byte[] version_number = new byte[12];
- byte[] department_code = new byte[20];
- byte[] type_sign = new byte[8];
- result = T10TermbApi.dc_ParseTextInfoForForeigner(icdev, 0, text_len, text, english_name, sex, id_number, citizenship, chinese_name, expire_start_day, expire_end_day, birth_day, version_number, department_code, type_sign, reserved);
- if (result != 0)
- {
- //st = T10TermbApi.dc_exit(icdev);
- errorCode = "-1";
- errorMessage = "读取失败!!!!!";
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- return output.ToString();
- }
- tempbuffer = string.Format("name: {0}", System.Text.Encoding.Default.GetString(english_name));
- string strEnName = Regex.Replace(System.Text.Encoding.Default.GetString(english_name), "\u0000", "");
- resultObj.Add("enName", strEnName);
- T10TermbApi.dc_ParseOtherInfo(icdev, 0, sex, info_buffer);
- resultObj.Add("sex", Regex.Replace(System.Text.Encoding.Default.GetString(sex), "\u0000", ""));
- tempbuffer = string.Format("id_number: {0}", System.Text.Encoding.Default.GetString(id_number));
- resultObj.Add("id_number", Regex.Replace(System.Text.Encoding.Default.GetString(id_number), "\u0000", ""));
- T10TermbApi.dc_ParseOtherInfo(icdev, 2, citizenship, info_buffer);
- resultObj.Add("citizenship", Regex.Replace(System.Text.Encoding.Default.GetString(info_buffer), "\u0000", ""));
- resultObj.Add("citizenship2", Regex.Replace(System.Text.Encoding.Default.GetString(citizenship), "\u0000", ""));
- string strCnName = Regex.Replace(System.Text.Encoding.Default.GetString(chinese_name), "\u0000", "");
- if (strCnName != "")
- {
- resultObj.Add("name", strCnName);
- }
- else
- {
- resultObj.Add("name", strEnName);
- }
- resultObj.Add("expire_start_day", Regex.Replace(System.Text.Encoding.Default.GetString(expire_start_day), "\u0000", ""));
- resultObj.Add("expire_end_day", Regex.Replace(System.Text.Encoding.Default.GetString(expire_end_day), "\u0000", ""));
- resultObj.Add("birth_day", Regex.Replace(System.Text.Encoding.Default.GetString(birth_day), "\u0000", ""));
- resultObj.Add("visatimes", Regex.Replace(System.Text.Encoding.Default.GetString(version_number), "\u0000", ""));
- resultObj.Add("department_code", Regex.Replace(System.Text.Encoding.Default.GetString(department_code), "\u0000", ""));
- resultObj.Add("department", Regex.Replace(System.Text.Encoding.Default.GetString(department_code), "\u0000", ""));
- resultObj.Add("type_sign", Regex.Replace(System.Text.Encoding.Default.GetString(type_sign), "\u0000", ""));
- }
-
- }
- }
- catch (Exception ex2)
- {
- errorCode = "-1";
- errorMessage = ex2.Message;
- }
- //st = T10TermbApi.dc_exit(icdev);
- output.Add("errorCode", errorCode);
- output.Add("errorMessage", errorMessage);
- output.Add("result", resultObj);
- return output.ToString();
- }
- private void readCard()
- {
- Thread.Sleep(200);
- int ret = TermbApi.Authenticate();
- if (1 == ret)
- {
- ret = TermbApi.Read_Content(1);
- if (1 == ret)
- {
- resultObj.Add("IDType", "居民身份证");
- // 姓名,性别,民族,出生日期,常住地址,身份号码,签发机关,有效期限,照片,指纹
- byte[] value = new byte[256];
- TermbApi.getName(value, 256);
- String strName = Encoding.GetEncoding("GBK").GetString(value);
- strName = strName.Replace("\0", "");
- resultObj.Add("name", strName);
- Array.Clear(value,0, value.Length);
- TermbApi.getSex(value, 256);
- String strSex = Encoding.GetEncoding("GBK").GetString(value);
- strSex = strSex.Replace("\0", "");
- resultObj.Add("sex", strSex);
- Array.Clear(value, 0, value.Length);
- TermbApi.getNation(value, 256);
- String strNation = Encoding.GetEncoding("GBK").GetString(value);
- strNation = strNation.Replace("\0", "");
- resultObj.Add("nation", strNation);
- Array.Clear(value, 0, value.Length);
- TermbApi.getBirthdate(value, 256);
- String strBorn = Encoding.GetEncoding("GBK").GetString(value);
- strBorn = strBorn.Replace("\0", "");
- resultObj.Add("birth_day", strBorn);
- Array.Clear(value, 0, value.Length);
- TermbApi.getAddress(value, 256);
- String strAddress = Encoding.GetEncoding("GBK").GetString(value);
- strAddress = strAddress.Replace("\0", "");
- resultObj.Add("address", strAddress);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIDNum(value, 256);
- String strLicId = Encoding.GetEncoding("GBK").GetString(value);
- strLicId = strLicId.Replace("\0", "");
- resultObj.Add("id_number", strLicId);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIssue(value, 256);
- String strIssue = Encoding.GetEncoding("GBK").GetString(value);
- strIssue = strIssue.Replace("\0", "");
- //strResult += "\r\n签发机关:" + strIssue;
- resultObj.Add("department", strIssue);
- Array.Clear(value, 0, value.Length);
- TermbApi.getEffectedDate(value, 256);
- String strEffextedDate = Encoding.GetEncoding("GBK").GetString(value);
- strEffextedDate = strEffextedDate.Replace("\0", "");
- resultObj.Add("expire_start_day", strEffextedDate);
- Array.Clear(value, 0, value.Length);
- TermbApi.getExpiredDate(value, 256);
- String strexpireDate = Encoding.GetEncoding("GBK").GetString(value);
- strexpireDate = strexpireDate.Replace("\0", "");
- resultObj.Add("expire_end_day", strexpireDate);
- ret = TermbApi.GetBmpPhotoExt();
- if (1 == ret)
- {
- Array.Clear(value, 0, value.Length);
- value = new byte[128 * 1024];
- TermbApi.getJPGPhotoBase64(value, 128 * 1024);
- String strJpegBase64 = Encoding.GetEncoding("GBK").GetString(value);
- strJpegBase64 = strJpegBase64.Replace("\0", "");
- resultObj.Add("picture", strJpegBase64);
- }
- Array.Clear(value, 0, value.Length);
-
- }
- else if (2 == ret)
- {
- // 中文名,英文名,性别,国家,出生日期,身份号码,签发机关代码,有效期限,照片,指纹
- resultObj.Add("IDType", "2017版永居证");
- byte[] value = new byte[256];
- TermbApi.getCnName(value, 256);
- String strCnName = Encoding.GetEncoding("GBK").GetString(value);
- strCnName = strCnName.Replace("\0", "");
-
- Array.Clear(value, 0, value.Length);
- TermbApi.getEnName(value, 256);
- String strEnName = Encoding.GetEncoding("GBK").GetString(value);
- strEnName = strEnName.Replace("\0", "");
- //strResult += "\r\n英文名:" + strEnName;
- if (strCnName != "")
- {
- resultObj.Add("name", strCnName);
- }
- else {
- resultObj.Add("name", strEnName);
- }
- resultObj.Add("enName", strEnName);
- Array.Clear(value, 0, value.Length);
- TermbApi.getSex(value, 256);
- String strSex = Encoding.GetEncoding("GBK").GetString(value);
- strSex = strSex.Replace("\0", "");
- resultObj.Add("sex", strSex);
- Array.Clear(value, 0, value.Length);
- TermbApi.getNation(value, 256);
- String strCountry = Encoding.GetEncoding("GBK").GetString(value);
- strCountry = strCountry.Replace("\0", "");
- //strResult += "\r\n国家/地区:" + strCountry;
- resultObj.Add("address", strCountry);
- Array.Clear(value, 0, value.Length);
- TermbApi.getBirthdate(value, 256);
- String strBorn = Encoding.GetEncoding("GBK").GetString(value);
- strBorn = strBorn.Replace("\0", "");
- //strResult += "\r\n出生日期:" + strBorn;
- resultObj.Add("birth_day", strBorn);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIDNum(value, 256);
- String strLicId = Encoding.GetEncoding("GBK").GetString(value);
- strLicId = strLicId.Replace("\0", "");
- //strResult += "\r\n身份号码:" + strLicId;
- resultObj.Add("id_number", strLicId);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIssue(value, 256);
- String strIssue = Encoding.GetEncoding("GBK").GetString(value);
- strIssue = strIssue.Replace("\0", "");
- //strResult += "\r\n签发机关代码:" + strIssue;
- resultObj.Add("department", strIssue);
- Array.Clear(value, 0, value.Length);
- TermbApi.getEffectedDate(value, 256);
- String strEffectedData = Encoding.GetEncoding("GBK").GetString(value);
- strEffectedData = strEffectedData.Replace("\0", "");
- resultObj.Add("expire_start_day", strEffectedData);
- Array.Clear(value, 0, value.Length);
- TermbApi.getExpiredDate(value, 256);
- String strExpireDate = Encoding.GetEncoding("GBK").GetString(value);
- strExpireDate = strExpireDate.Replace("\0", "");
- resultObj.Add("expire_end_day", strExpireDate);
- //strResult += "\r\n有效期限:" + strEffectedData + "-" + strExpireDate;
- value = new byte[128 * 1024];
- ret = TermbApi.GetBmpPhotoExt();
- if (1 == ret)
- {
- Array.Clear(value, 0, value.Length);
- value = new byte[128 * 1024];
- TermbApi.getJPGPhotoBase64(value, 128 * 1024);
- String strJpegBase64 = Encoding.GetEncoding("GBK").GetString(value);
- strJpegBase64 = strJpegBase64.Replace("\0", "");
- resultObj.Add("picture", strJpegBase64);
-
- }
- }
- else if (3 == ret)
- {
- // 姓名,性别,出生日期,常住地址,身份号码,签发机关,有效期限,照片,指纹
- resultObj.Add("IDType", "港澳台居住证");
- byte[] value = new byte[256];
- TermbApi.getName(value, 256);
- String strName = Encoding.GetEncoding("GBK").GetString(value);
- strName = strName.Replace("\0", "");
- resultObj.Add("name", strName);
- Array.Clear(value, 0, value.Length);
- TermbApi.getSex(value, 256);
- String strSex = Encoding.GetEncoding("GBK").GetString(value);
- strSex = strSex.Replace("\0", "");
- resultObj.Add("sex", strSex);
- Array.Clear(value, 0, value.Length);
- TermbApi.getBirthdate(value, 256);
- String strBorn = Encoding.GetEncoding("GBK").GetString(value);
- strBorn = strBorn.Replace("\0", "");
- resultObj.Add("birth_day", strBorn);
- Array.Clear(value, 0, value.Length);
- TermbApi.getAddress(value, 256);
- String strAddress = Encoding.GetEncoding("GBK").GetString(value);
- strAddress = strAddress.Replace("\0", "");
- //strResult += "\r\n常住地址:" + strAddress;
- resultObj.Add("address", strAddress);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIDNum(value, 256);
- String strLicId = Encoding.GetEncoding("GBK").GetString(value);
- strLicId = strLicId.Replace("\0", "");
- //strResult += "\r\n身份号码:" + strLicId;
- resultObj.Add("id_number", strLicId);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIssue(value, 256);
- String strIssue = Encoding.GetEncoding("GBK").GetString(value);
- strIssue = strIssue.Replace("\0", "");
- //strResult += "\r\n签发机关:" + strIssue;
- resultObj.Add("department", strIssue);
- Array.Clear(value, 0, value.Length);
- TermbApi.getEffectedDate(value, 256);
- String strEffextedDate = Encoding.GetEncoding("GBK").GetString(value);
- strEffextedDate = strEffextedDate.Replace("\0", "");
- resultObj.Add("expire_start_day", strEffextedDate);
- Array.Clear(value, 0, value.Length);
- TermbApi.getExpiredDate(value, 256);
- String strexpireDate = Encoding.GetEncoding("GBK").GetString(value);
- strexpireDate = strexpireDate.Replace("\0", "");
- //strResult += "\r\n有效期限:" + strEffextedDate + "-" + strexpireDate;
- resultObj.Add("expire_end_day", strexpireDate);
- Array.Clear(value, 0, value.Length);
- TermbApi.getPassNum(value, 256);
- String strPassNum = Encoding.GetEncoding("GBK").GetString(value);
- strPassNum = strPassNum.Replace("\0", "");
- //strResult += "\r\n通行证号码:" + strPassNum;
- resultObj.Add("passNum", strPassNum);
- int visatimes = TermbApi.getVisaTimes();
- resultObj.Add("visatimes", visatimes);
- //strResult += "\r\n签证次数:" + visatimes;
- ret = TermbApi.GetBmpPhotoExt();
- if (1 == ret)
- {
- Array.Clear(value, 0, value.Length);
- value = new byte[128 * 1024];
- TermbApi.getJPGPhotoBase64(value, 128 * 1024);
- String strJpegBase64 = Encoding.GetEncoding("GBK").GetString(value);
- strJpegBase64 = strJpegBase64.Replace("\0", "");
- resultObj.Add("picture", strJpegBase64);
- }
- }
- else if (4 == ret)
- {
- // 中文名,英文名,性别,国家,出生日期,身份号码,签发机关代码,有效期限,照片,指纹
- //String strResult = "证件类型:2023版永居证\r\n";
- resultObj.Add("IDType", "2023版永居证");
- byte[] value = new byte[256];
- TermbApi.getCnName(value, 256);
- String strCnName = Encoding.GetEncoding("GBK").GetString(value);
- strCnName = strCnName.Replace("\0", "");
- //strResult += "中文名:" + strCnName;
- Array.Clear(value, 0, value.Length);
- TermbApi.getEnName(value, 256);
- String strEnName = Encoding.GetEncoding("GBK").GetString(value);
- strEnName = strEnName.Replace("\0", "");
- //strResult += "\r\n英文名:" + strEnName;
- if (strCnName != "")
- {
- resultObj.Add("name", strCnName);
- }
- else
- {
- resultObj.Add("name", strEnName);
- }
- resultObj.Add("enName", strEnName);
- Array.Clear(value, 0, value.Length);
- TermbApi.getSex(value, 256);
- String strSex = Encoding.GetEncoding("GBK").GetString(value);
- strSex = strSex.Replace("\0", "");
- resultObj.Add("sex", strSex);
- Array.Clear(value, 0, value.Length);
- TermbApi.getNation(value, 256);
- String strCountry = Encoding.GetEncoding("GBK").GetString(value);
- strCountry = strCountry.Replace("\0", "");
- //strResult += "\r\n国家/地区:" + strCountry;
- resultObj.Add("address", strCountry);
- Array.Clear(value, 0, value.Length);
- TermbApi.getBirthdate(value, 256);
- String strBorn = Encoding.GetEncoding("GBK").GetString(value);
- strBorn = strBorn.Replace("\0", "");
- //strResult += "\r\n出生日期:" + strBorn;
- resultObj.Add("birth_day", strBorn);
- Array.Clear(value, 0, value.Length);
- TermbApi.getIDNum(value, 256);
- String strLicId = Encoding.GetEncoding("GBK").GetString(value);
- strLicId = strLicId.Replace("\0", "");
- //strResult += "\r\n身份号码:" + strLicId;
- resultObj.Add("id_number", strLicId);
- Array.Clear(value, 0, value.Length);
- TermbApi.getEffectedDate(value, 256);
- String strEffectedData = Encoding.GetEncoding("GBK").GetString(value);
- strEffectedData = strEffectedData.Replace("\0", "");
- resultObj.Add("expire_start_day", strEffectedData);
- Array.Clear(value, 0, value.Length);
- TermbApi.getExpiredDate(value, 256);
- String strExpireDate = Encoding.GetEncoding("GBK").GetString(value);
- strExpireDate = strExpireDate.Replace("\0", "");
- //strResult += "\r\n有效期限:" + strEffectedData + "-" + strExpireDate;
- resultObj.Add("expire_end_day", strExpireDate);
- Array.Clear(value, 0, value.Length);
- int visaTimes = TermbApi.getVisaTimes();
- resultObj.Add("visatimes", visaTimes);
- //strResult += "\r\n换证次数:" + visaTimes;
- Array.Clear(value, 0, value.Length);
- TermbApi.getRelateIDNum(value, 256);
- String strRelateIdNum = Encoding.GetEncoding("GBK").GetString(value);
- strRelateIdNum = strRelateIdNum.Replace("\0", "");
- //strResult += "\r\n既往证件号码关联项:" + strRelateIdNum;
- resultObj.Add("relateIdNum", strRelateIdNum);
- if (strRelateIdNum.Length > 0)
- {
- Array.Clear(value, 0, value.Length);
- TermbApi.getOldIDNum(value, 256);
- String strOldId = Encoding.GetEncoding("GBK").GetString(value);
- strOldId = strOldId.Replace("\0", "");
- //strResult += "\r\n既往证件号码:" + strOldId;
- resultObj.Add("relateIdNumOldId", strOldId);
- }
- value = new byte[128 * 1024];
- ret = TermbApi.GetBmpPhotoExt();
- if (1 == ret)
- {
- Array.Clear(value, 0, value.Length);
- value = new byte[128 * 1024];
- TermbApi.getJPGPhotoBase64(value, 128 * 1024);
- String strJpegBase64 = Encoding.GetEncoding("GBK").GetString(value);
- strJpegBase64 = strJpegBase64.Replace("\0", "");
- resultObj.Add("picture", strJpegBase64);
- }
- }
- }
-
- }
- }
- }
|