问题:

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

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

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

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

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

页面HTML代码

<divid="scanFileList"style="height:300px; overflow:auto;">

</div>

<div>

<inputtype="checkbox"id="cbo_set"/><labelfor="cbo_set">显示扫描设置</label>

<inputtype="checkbox"id="cbo_lxsm"/><labelfor="cbo_lxsm">连续扫描</label>

<inputtype="button"value="扫描并提交"οnclick="scanClick();"/><inputtype="button"οnclick="selscan();"value="选择扫描仪"/>

</div>

改进后

<!DOCTYPEhtml>

<htmlxmlns="http://www.w3.org/1999/xhtml">

<head>

<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/>

<title>Web图片上传控件演示页面</title>

<scripttype="text/javascript"src="js/jquery-1.3.2.min.js"></script>

<scripttype="text/javascript"src="js/json2.min.js"charset="utf-8"></script>

<scripttype="text/javascript"src="js/img2.js"charset="utf-8"></script>

</head>

<body>

<p>演示取cookie和session,并传给控件,可支持firefox(45-),chrome(45-)</p>

<divid="img-uper"></div>

<divid="msg"></div>

<scripttype="text/javascript">

var imgUp = new ImageUploader();

imgUp.Config["PostUrl"] = "http://localhost:8889/asp.net/upload.aspx";

imgUp.Config["Cookie"] = 'ASP.NET_SessionId=<%=Session.SessionID%>';

imgUp.Config.Fields["UserID"] = "123456";

imgUp.LoadTo("img-uper");

imgUp.ent.loadCmp = function () {

setTimeout(function () {

//imgUp.addFolder("F:\\ftp");

}, 1000);

};

$(function () {

$("#btnAddLoc").click(function () {

imgUp.addFile($("#tb-path").val());

});

});

</script>

</body>

</html>

服务器端(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 +"'}");

}

改进后:不需要转换成BASE64,不需要通过AJAX上传,不存在跨域问题,

using System;

using System.Web;

using System.IO;

namespace WebApplication1

{

publicpartialclassupload : System.Web.UI.Page

{

protectedvoid Page_Load(object sender, EventArgs e)

{

if (Request.Files.Count > 0)

{

string folder = Server.MapPath("/upload");

//自动创建上传文件夹

if (!Directory.Exists(folder))

{

Directory.CreateDirectory(folder);

}

HttpPostedFile file = Request.Files.Get(0);

//utf-8编码时需要进行urldecode

string fn = HttpUtility.UrlDecode(file.FileName);//guid,crc,md5,ori

System.Diagnostics.Debug.WriteLine(fn);

string ext = Path.GetExtension(fn).ToLower();

if (ext == ".jpg"

|| ext == ".gif"

|| ext == ".png"

|| ext == ".bmp"

|| ext == ".tif")

{

string filePath = Path.Combine(folder, fn);

file.SaveAs(filePath);

//返回json格式

string res = "{\"id\":\""+id+"\",\"success\":1,\"url\":\"/upload/"+fn+"\"}";

Response.Write(res);

}

}

}

}

}

解决方案:

采用泽优Web图片上传控件(img2)自动上传本地图片。

过程:

在扫描仪扫描后会提供一个事件,在这个事件中可以获取扫描仪扫描的图片路径,将这个路径添加到泽优Web图片上传控件(img2)中,img2就能够自动上传此图片。img2上传成功后会提供一个事件(post_complete),在此事件中可以得到图片上传后的地址。

详细介绍:http://blog.ncmem.com/wordpress/2019/09/05/泽优web图片上传控件img2产品介绍/

b/s系统扫描仪扫描上传相关推荐

  1. Goby 漏洞更新 |海康威视部分iVMS系统存在文件上传漏洞

    漏洞名称:海康威视部分iVMS系统存在文件上传漏洞 English Name:Some Hikvision iVMS file upload vulnerabilitie CVSS core: 9.8 ...

  2. linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器

    如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...

  3. linux+nginx+mysql+php系统修改文件上传大小限制

    linux+nginx+mysql+php系统修改文件上传大小限制 对于LNMP框架的一些网站,上传文件大小会受到多个方面的限制,一个是nginx本身的限制,限制了客户端上传文件的大小,会报错&quo ...

  4. itms-services php,APP发布系统 ipa文件上传和下载 itms-service协议

    项目需求:内部测试分发APP,发布系统 ipa文件上传和下载,使用itms-service协议和safari网页内跳转下载 分为下载页面(dl.html).text.plist文件.test.ipa文 ...

  5. 毕业设计——音乐播放系统 可以自己上传歌曲 SSM框架 MYSQL数据库 功能齐全

    音乐播放系统 可以自己上传歌曲 SSM框架 MYSQL数据库 功能齐全 可以注册账号 登录 在线上传歌曲 发表评论 在线听音乐 登录 注册 首页 播放音乐以及在线评论 个人后台页面 查看我发布的以及上 ...

  6. 每日资源分享(彩虹外链PHP网盘V5.4更新 新增用户系统与分块上传)

    demo软件园每日更新资源 1.跟我一起写Python 完整版PDF Python 就为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容.用 Python 开发,许多功 ...

  7. # MAC OS系统通过aspera上传数据到NCBI

    MAC OS系统通过aspera上传数据到NCBI 1.登陆aspera官网:https://www.ibm.com/products/aspera/downloads,下载IBM Aspera Co ...

  8. java如何加入扫描上传_javaWEB连接扫描仪,将扫描的的图片上传至服务器

    问题: 项目中有一个功能,原来是用ckfinder做的,可以选择本地图片上传至服务器,然后将服务器的图片显示在浏览器中,并可以将图片地址保存到数据库:现在客户觉得麻烦,提出连接扫描仪扫描后直接上传至服 ...

  9. 系统中图片上传设计方案

    2019独角兽企业重金招聘Python工程师标准>>> 曾做过一些系统,对于图片上传的相关设计有些疑惑,经过后续的各方面研究,现有了能去除心中困惑的解决方案. 先说说以前做系统时遇到 ...

最新文章

  1. 第11章 UART 串口通信(手把手教你学51单片机pdf部分)
  2. 在网上找了一些j2ee的视频教程,有需要的朋友可以看看
  3. java网络编程(四)
  4. 关于测试url传值的问题
  5. 多线程异步处理:AsyncTask异步更新UI界面(详细完整总结篇)
  6. 如何分析SAP UI5应用的undefined is not a function错误
  7. JavaScript逻辑运算符的使用技巧
  8. 前端学习(2331):angular之图片的使用
  9. EffectiveJava读书笔记--01继承的使用注意
  10. 静态化 - 真静态技术
  11. 机器闹乌龙?Amphetamine 险遭苹果下架
  12. Centos7 卸载自带的OpenJDK
  13. LINUX 编译gluegen/jogl
  14. android widget 开发实例 : 桌面便签程序的实现具体解释和源代码 (上)
  15. 天载股票开户美股再度创出新高
  16. Zip函数教程(简单示例)
  17. 紫书刷题记录:UVa1594,Ducci序列;
  18. Ubuntu 安装amd 显卡驱动
  19. 软考十大管理流程图知识点整理
  20. 书法文化类毕业论文文献都有哪些?

热门文章

  1. oracle经典教程
  2. 实验一:为路由器设置密码及Telnet远程登录路由器
  3. win10连接上OpenVpn后发现访问互联网的东西会有些不稳定
  4. 菜园租种农场认养土地认领带你感受不一样的智慧农业
  5. OpenGL 绘制音频波形
  6. STM32MP1系列教程连载-华清远见FS-MP1A开发板使用
  7. 【PM】1.1 认识产品经理 什么是产品经理
  8. excel中VLOOKUP跨文件的调用
  9. 电脑蓝屏出现一堆英文的解决方法
  10. 四轴飞控软件开发计划