问题:

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产品介绍/

asp.net+扫描仪+图片上传相关推荐

  1. 用纯ASP代码实现图片上传并存入数据库中

      用纯ASP代码实现图片上传并存入数据库中    热     ★ 用纯ASP代码实现图片上传并存入数据库中 用ASP编写网站应用程序时间长了,难免会遇到各式各样的问题,其中关于如何上传文件到服务器恐 ...

  2. C# ASP.NET MVC 图片上传的多种方式(存储至服务器文件夹,阿里云oss)

    图片上传时我们进场用到的一个功能今天将他整理了一下写了个demo希望对大家有用 该demo分为如下 1.上传至至服务器文件夹 2.上传至阿里云oss 3.百度webupload上传图片 效果图如下: ...

  3. ASP.Net MVC3 图片上传详解(form.js,bootstrap)

    图片上传的插件很多,但很多时候还是不能切合我们的需求,我这里给大家分享个我用一个form,file实现上传四张图片的小demo.完全是用jquery前后交互,没有用插件. 最终效果图如下: 玩过花田人 ...

  4. 使用asp.net将图片上传并存入SqlServer中,然后从SqlServer中读取并显示出来

    一,上传并存入SqlServer  数据库结构   create table test   {      id identity(1,1),      FImage image   }   相关的存储 ...

  5. ASP.NET的图片上传和显示

    上传 protected void btnUpload_Click(object sender, EventArgs e){if (!filUpload.HasFile) {Alert("没 ...

  6. asp 调用php上传图片,asp 版 本地图片上传问题!

    真的很简单~  就是两个 点点  的问题~:(    真当是 人不学不知义 啊~:) 为了让和我一样笨笨的人能节省些 宝贵的时间打麻将~:)我把 简单的代码贴出来~:) KE.show({ id : ...

  7. asp.net多图片上传案例_会计小明的故事-成本核算案例篇

    因涉及成本核算案例篇,所需要的图表比较多,但是知乎不同于微信可以直接将文档图表复制过来,知乎专栏文章,所有图表必须先截图,然后以图片形式展示.但是成本核算案例图表实在是太多,一一截图,一则影响整体观感 ...

  8. android 调用asp.net webservice 图片上传到服务器

    图片转换: package com.qsmart.audit.utility;import java.io.ByteArrayOutputStream; import java.io.File; im ...

  9. asp.net mvc 上传到服务器 图片不显示,ASP.NET MVC实现图片上传、图片预览显示

    先看看效果(下面gif动画制作有点大,5.71MB): 题外话:上面选择图片来源于Insus.NET的新浪微博,言归正传,由于以前的asp.net mvc的练习文件上传文件,显示或是下载等博文,均是存 ...

  10. ckeditor finder php,CKEDITOR CKFINDER的图片上传配置(C#/asp.net/php)

    CKEDITOR+CKFINDER的图片上传配置(C#/asp教程.net/php教程) php keditor的代码全部重写,但里面没有了上传功能,只是一个纯粹的文件在线编辑器,如果需要上传图片,还 ...

最新文章

  1. 通过设置Ionic-Cli代理解决ionic serve跨域调试问题
  2. 模块化加载_前端模块化简单总结
  3. C#基础 字符串读取/写入文本文件 代码示例
  4. Solaris的硬件相关命令
  5. 在URL参数中传递复杂对象
  6. gen_fsm之门禁管理
  7. Server 2016DC查看五种AD角色的方法
  8. 如何用tf2.0训练中文聊天机器人chatbot
  9. [PyTorch] 保存模型和恢复模型
  10. Android对话框的高级设置《一》设置对话框按钮的图像和在内容文本中插入图像
  11. 4.1 tensorflow2实现Kruskal - Wallis 检验 ——python实战
  12. 【实践】基于百度地图API实现的地图形式天气预报【一】
  13. linux下nfs安装配置
  14. 如何高效学习和阅读源码?
  15. android钟表,Android打造属于自己的时间钟表
  16. android开发底部虚拟键,android手机底部的虚拟按键怎么弄,像android平板那样。
  17. NOIP模拟赛 队爷的讲学计划
  18. Xcode4.6 自制iOS可用的 Framework
  19. Java核心技术卷一 -第九章:集合
  20. 微信小程序开发实战9_3 小程序URL Scheme

热门文章

  1. 2.5 js格式化时间库
  2. gcc -fomit-frame-pointer选项,-fno-dwarf2-cfi-asm 选项
  3. Jenkins下载安装配置教程(官网)
  4. donet 微服务开发 学习-AOP框架基础
  5. 软件工程——概要设计
  6. 词法分析之LED文件批量生成
  7. IOS开发之逆向分析
  8. FPGA实现360°SG90舵机
  9. JavaScript基础知识总结(必看篇)
  10. matlab:圆形的图像识别(一)