接到个模块,要在已有的web工程里集成身份证读卡器,高拍仪等硬件。一时摸不着头脑,网上搜了下,发现都写的高端到看不懂。后来找了个已成功集成的web工程研究了下,发现弱爆了。这种硬件设备都已经做好了对web支持的控件(如activeX),浏览器只需对activeX放行。然后在工程中加入厂家提供的web开发包,在需要集成硬件的web页面中引入硬件设备对应的classId,边完成了集成。
例如在页面中集成身份证读卡器:
在页面中添加读卡插件对应的
在js中,根据id便可以取得读卡信息的对象,就可以取得具体的读卡信息了:
obj.nameL()便是身份证姓名,然后将值赋给对应的标签。
functioncardMatch(){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则完全正常,这个还在想办法解决。