web工程集成身份证读卡器,高拍仪

接到个模块,要在已有的web工程里集成身份证读卡器,高拍仪等硬件。一时摸不着头脑,网上搜了下,发现都写的高端到看不懂。后来找了个已成功集成的web工程研究了下,发现弱爆了。这种硬件设备都已经做好了对web支持的控件(如activeX),浏览器只需对activeX放行。然后在工程中加入厂家提供的web开发包,在需要集成硬件的web页面中引入硬件设备对应的classId,边完成了集成。

例如在页面中集成身份证读卡器:

  在页面中添加读卡插件对应的<object>

<object id="CardReader1" codebase="FirstActivex.cab#version=1,3,2,1" classid="CLSID:F225795B-A882-4FBA-934C-805E1B2FBD1B" 
                            width="102" height="126">
                                <param name="_Version" value="65536"/>
                                <param name="_ExtentX" value="2646"/>
                                <param name="_ExtentY" value="1323"/>
                                <param name="_StockProps" value="0"/>
                            </object>

  在js中,根据id便可以取得读卡信息的对象,就可以取得具体的读卡信息了:

    obj.nameL()便是身份证姓名,然后将值赋给对应的标签。

function cardMatch(){
    var obj = byId("CardReader1");

    if(false==isInit)
    {
        obj.setPortNum(0);
        isInit=true;
    }
    obj.Flag=0;
    //obj.BaudRate=115200;
//设置照片保存路径,照片文件名:(身份证号).bmp。默认路径为系统临时目录,照片文件名:image.bmp
    //obj.PhotoPath=form1.photoPath.value;    
    var rst = obj.ReadCard();
//获取各项信息
    if(0x90==rst)
    {
        if(isExist("nameMatch")){ 
            byName("nameMatch").value=obj.NameL();
        }
}
}

    想把硬件设备读到的图片提交到服务器,可以提交图片的base64码(一般设备的web开发包都已经帮我们转好了)。

   后来见到了设备厂商,他们直接给了个web的demo,然后发现他们早都把web所有东西,都做好 了,我们只用粘贴进自己项目即可,早知道早联系他们了。不过因为一般web开发包都是以html为模版的,所以有时候我们把html改成用jsp集成设备,常常会出现activeX控件无法加载,造成设备用不了问题,但是用html则完全正常,这个还在想办法解决。

 

posted @ 2013-06-01 11:40  Little_cheeper  阅读(5010)  评论(3编辑  收藏  举报