Asp.net和第二代身份证读卡器互联

大家都知道,Asp.net是在服务器端执行的程序,无法直接与客户端的设备进行通信,但是客户提出了能否直接在网页上调用二代身份证读卡器。

 

一、解决思路

    经过我们的分析,理论上是完全可行的。下面描述一下这个问题的解决思路。

    1.编写一个AcitiveX控件,通过该控件就可以连接到身份证读卡器,并且读取卡上面的内容。

    2.利用javascript调用Activex的方法,将身份证上面的信息读取出来,并且填充到页面上的文本输入框。

    3.利用javascript将身份证照片文件也上传到服务器上

 

 二、开发环境

    1.我们采用的是国腾二代身份证读卡器,其他的读卡器也类似,都提供了SDK义工调用

    2.采用VS2005作为开发工具

 

三、详细步骤 

      1、开发读取身份证读卡器的ActiveX控件:由于我本身对于C++不是特别熟,所以开发的ActiveX控件采用了熟悉的C#语言,采用C#语言的缺点是客户端必须要安装.net framework2.0 

      该控件的实现就是调用读卡器的SDK,读取身份证上面的文本信息(如身份证号/性别/出生日期/发证机关/身份证地址等),同时还可以读取照片信息。由于我们所采用的设备直接将这些信息生出到c盘根目录,所以我用程序直接读取这些文件来实现。

       有关如何利用C#开发ActiveX控件,请参考这下面的文章:

       http://www.cnblogs.com/homer/archive/2005/01/04/86473.html

 

       2、如何编写JavaScript代码

      在JavaScript中,如何初始化ActiveX控件并且调用ActiveX控件的方法。

      a.初始化控件调用

var   hello;
try{
    hello 
= new ActiveXObject("Train.Reg.Demo");
}
catch(err){
    alert(
'您可能没有正确的安装身份证读卡器组件,或者浏览器设置不正确!\n\n错误信息为:' + err.description + '\n\n有关设置的详细信息请参考帮助!');
}

      b.调用控件的方法

 

Code

      c.利用VS2005中的fileUpload组件,上传图片的方法

 

Code

 

posted on 2009-07-08 18:24  香帅  阅读(6506)  评论(4)    收藏  举报

导航