B/S(WEB)系统中使用websocket插件调用扫描仪实现连续扫描并上传图像(IE文件扫描并自动上传)

浏览器下使用websocket插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同、文件、资料等)扫描并将扫描图像保存到服务器,可以用于合同管理、档案管理等。

通过插件方式调用扫描仪扫描并获取图像,可以减少用户操作,减少操作出错,如一次扫描量大也可以使用连续扫描,由系统对扫描文件进行编号或进行其他处理。

web页面中只需通过js调用后启动扫描仪扫描,即可获取扫描文件的图像编码,再通过ajax或表单提交到服务器解码后保存为jpg文件即可。

通过服务器上程序处理后,可以方便以后浏览或去其它用户共享!

web调用扫描仪插件activex扫描图像上传并预览

页面HTML代码

<div id="scanFileList" style="height:300px; overflow:auto;">
    
    </div>
    <div>
        <input type="checkbox" id="cbo_set" /><label for="cbo_set">显示扫描设置</label>
        <input type="checkbox" id="cbo_lxsm" /><label for="cbo_lxsm">连续扫描</label>
        <input type="button" value="扫描并提交" onclick="scanClick();" /> <input type="button" onclick="selscan();" value="选择扫描仪" />
    </div>


页面js调用websocket连接控件服务调用扫描仪
 

 function selscan() {
            tScaner.SelectScanner();
        }

        var scanidx=1;
        function scanClick() {
            scanidx = 1;
            scanSubmit();
        }

        function scanSubmit() {
            //tScaner.JpegQuality = 30; //jpg图像质量
            //tScaner.ScanImageLeft=10; //扫描图像的位置(厘米)
            //tScaner.ScanImageTop=10; //扫描图像的位置(厘米)
            //tScaner.ScanImageWidth=20.0;//扫描图像的宽度 厘米
            //tScaner.ScanImageHeight=10.2;//扫描图像的高度 厘米
            if (tScaner.Scan($("#cbo_set").is(":checked")&&scanidx==1) == 0) {  //仅在第一次扫描时显示设置界面//tScaner.Scan(true) //扫描前显示扫描设置界面
                var imgBase64 = tScaner.ScanImageData;
                if (imgBase64 != "") {
                    //添加到列表
                    $("#scanFileList").append("<div id='f_" + scanidx + "' style='width:80px;height:100px;margin-left:2px;float:left;border:solid 1px #ccc;'><img src='' width='80' height='100' /></div>");
                    //上传图像
                    $.post("fileup.aspx", { img: imgBase64, id: scanidx }, function(dat) {
                        $("#f_" + dat.id + " img").attr("src", dat.src);
                    }, "json");
                }

                //是否连续扫描
                if ($("#cbo_lxsm").is(":checked")) {
                    scanSubmit();
                }
            } 
        }

服务器端(fileup.aspx)接收文件代码(用户可以根据需要转换为java、php等不同语言以适应现有的系统环境)

string imgBase64 = Request.Params["img"];
        
        if (imgBase64 != null && imgBase64 != "")
        {
            byte[] imgbytes = Convert.FromBase64String(imgBase64);
            string imgpath = "temp/" + System.Guid.NewGuid() + ".jpg";
            System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath(imgpath), System.IO.FileMode.OpenOrCreate);
            fs.Write(imgbytes, 0, imgbytes.Length);
            fs.Close();
            Response.Write("{id:" + Request.Params["id"] + ",src:'" + imgpath + "'}");
        }

在线演示地址文件连续扫描、摄像头抓拍

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
无限坐席在线客服系统源码是一种基于PHP语言的在线客服系统,通过使用WebSocket技术来实现消息的实时推送和自动刷新。 WebSocket是一种基于TCP协议的全双工通信协议,在Web上通过一次握手即可建立起客户端与服务器的长连接,实现实时的双向通信。在无限坐席在线客服系统,服务器通过WebSocket与客户端建立连接,并通过推送消息将客户端发送的消息实时发送给坐席。 实现推送消息的过程如下: 1. 客户端与服务器进行WebSocket握手,建立连接。 2. 当客户端发送消息给服务器时,服务器接收到消息后将其发送给目标坐席,并实时推送给目标坐席的客户端。 3. 坐席接收到客户端发送的消息后,可以通过WebSocket将回复消息实时发送给对应的客户端。 实现自动刷新消息的过程如下: 1. 当客户端发送消息给服务器后,服务器将该消息保存在数据库,并通过WebSocket实时推送给目标坐席的客户端。 2. 坐席接收到消息后,可以通过服务器将回复消息保存在数据库,并通过WebSocket实时推送给对应的客户端。 3. 客户端可以通过定时器或者其他方法,定时向服务器请求最新的消息并进行页面刷新展示。 无限坐席在线客服系统源码的实现需要综合运用PHP以及相关的前端技术,如HTML、CSS和JavaScript,搭配数据库来完成消息的存储和实时推送。整个系统需要建立起WebSocket连接,并处理数据的传输和处理。同时,为了实现消息的自动刷新,可以使用定时器等技术手段来定时请求最新消息并进行展示。 通过以上的实现,无限坐席在线客服系统源码可以实现自动刷新消息和实时推送的功能,提高客户与坐席之间的沟通效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值