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則完全正常,這個還在想辦法解決。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM