b/s系统扫描仪扫描上传
问题:
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系统扫描仪扫描上传相关推荐
- Goby 漏洞更新 |海康威视部分iVMS系统存在文件上传漏洞
漏洞名称:海康威视部分iVMS系统存在文件上传漏洞 English Name:Some Hikvision iVMS file upload vulnerabilitie CVSS core: 9.8 ...
- linux通过ftp自动上传文件到服务器,Linux系统通过FTP上传文件到云服务器
如何通过FTP将文件上传到腾讯云Linux云服务器?上一篇小编给大家介绍了通过Winscp将文件上传到云服务器的方法,今天小编为大家介绍过FTP将文件上传到腾讯云Linux云服务器的方法,用户需要使用 ...
- linux+nginx+mysql+php系统修改文件上传大小限制
linux+nginx+mysql+php系统修改文件上传大小限制 对于LNMP框架的一些网站,上传文件大小会受到多个方面的限制,一个是nginx本身的限制,限制了客户端上传文件的大小,会报错&quo ...
- itms-services php,APP发布系统 ipa文件上传和下载 itms-service协议
项目需求:内部测试分发APP,发布系统 ipa文件上传和下载,使用itms-service协议和safari网页内跳转下载 分为下载页面(dl.html).text.plist文件.test.ipa文 ...
- 毕业设计——音乐播放系统 可以自己上传歌曲 SSM框架 MYSQL数据库 功能齐全
音乐播放系统 可以自己上传歌曲 SSM框架 MYSQL数据库 功能齐全 可以注册账号 登录 在线上传歌曲 发表评论 在线听音乐 登录 注册 首页 播放音乐以及在线评论 个人后台页面 查看我发布的以及上 ...
- 每日资源分享(彩虹外链PHP网盘V5.4更新 新增用户系统与分块上传)
demo软件园每日更新资源 1.跟我一起写Python 完整版PDF Python 就为我们提供了非常完善的基础代码库,覆盖了网络.文件.GUI.数据库.文本等大量内容.用 Python 开发,许多功 ...
- # MAC OS系统通过aspera上传数据到NCBI
MAC OS系统通过aspera上传数据到NCBI 1.登陆aspera官网:https://www.ibm.com/products/aspera/downloads,下载IBM Aspera Co ...
- java如何加入扫描上传_javaWEB连接扫描仪,将扫描的的图片上传至服务器
问题: 项目中有一个功能,原来是用ckfinder做的,可以选择本地图片上传至服务器,然后将服务器的图片显示在浏览器中,并可以将图片地址保存到数据库:现在客户觉得麻烦,提出连接扫描仪扫描后直接上传至服 ...
- 系统中图片上传设计方案
2019独角兽企业重金招聘Python工程师标准>>> 曾做过一些系统,对于图片上传的相关设计有些疑惑,经过后续的各方面研究,现有了能去除心中困惑的解决方案. 先说说以前做系统时遇到 ...
最新文章
- 一行Java代码实现混乱排序List集合
- Pandas对象的层次化索引——【from_tuples()、from_arrays()、from_product()、swaplevel()、sort_index()、sort_values()】
- 启明星辰集团DT总部落地杭州 数据绿洲版图驱动未来发展
- 解决/usr/bin/ld: cannot find -lxxx
- CAN笔记(23) CanFestival移植
- centos连接xrdp桌面黑屏_小鹅通|视频直播桌面共享模式|视频直播OBS使用教程
- vue中父子组件先后渲染_Vue中父子组件执行的先后顺序
- 2018级C语言大作业 - 黄金矿工
- gitlab和github一起使用
- Python加载失败
- html网页表单设计实验报告,Html设计实验报告.doc
- zbbz 坐标标注lisp_cad坐标标注插件怎么用
- matlab 傅里叶变换最美,MATLAB傅里叶变换
- java输出100以内的所有质数
- 英语4级的分数如何计算机,英语四级分数怎么算
- 【STM32单片机】打砖块游戏设计
- # kubeadm ——k8S新节点加入集群-notready 问题解决
- 高效率科研神器——小软件、大能量
- 查看 Linux 进程 巧用ps|grep命令
- 有效应对广发逾期催收这样做
热门文章
- 咸鱼Maya笔记—骨骼的基本操作
- 无处不在的谷歌语音助手
- OB0205 obsidian 主题修改插件:Style Settings插件使用
- 【学习札记NO.00004】Linux Kernel Pwn学习笔记 I:一切开始之前
- OBD 诊断与 UDS 诊断有什么区别?
- 【流接口驱动】流接口设备驱动的架构
- js判断是否在微信浏览器中打开网页
- import、from...improt、from...import *三者的区别
- 为了上网,我黑了酒店上网管理系统并脱下酒店/网管的“内裤”
- 搜狐账号系统的反人类设计