如何在Web页面里使用高拍仪扫描上传图像

市场上所有的高拍仪都支持扫描图片并保存到本地,一般公司都会提供控件。开发人员只需要在页面集成就可以进行拍照和扫描。只不过一般扫描的图片是保存在本地固定的文件夹下面,需要用户手动选择一下然后上传。

泽优Web图片上传控件(img2)帮助解决图片手动上传的问题,使用img2后可以自动上传本地路径下面的图片,不需要用户再手动选择图片。

原理

1.img2提供了接口addFile和addFolder,可以直接加载本地路径下面的图片或目录。

2.添加后可以调用post方法开始上传图片。

泽优Web图片上传控件(img2)

加载图片

自动加载本地目录

<scripttype="text/javascript">

var imgUp = new ImageUploader();

imgUp.LoadTo("img-uper");

imgUp.ent.loadCmp = function () {

setTimeout(function () {

imgUp.addFolder("F:\\ftp");//自动加载本地目录下的所有图片

}, 1000);

};

</script>

自动加载本地路径下的图片文件

<scripttype="text/javascript">

var imgUp = new ImageUploader();

imgUp.LoadTo("img-uper");

imgUp.ent.loadCmp = function () {

setTimeout(function () {

imgUp.addFile("F:\\ftp\\test.jpg");//

}, 1000);

};

</script>

服务端jsp上传代码

publicvoid SaveFile(FileItem upFile) throws IOException

{

String fileName = upFile.getName();

//如果控件是以UTF-8编码方式提交的数据则使用下面的方式对文件名称进行解码。

fileName = fileName.replaceAll("\\+","%20");

//客户端使用的是encodeURIComponent编码

fileName = URLDecoder.decode(fileName,"UTF-8");

this.m_fileName = fileName;

this.CreateFolder();

String filePath = this.m_folder + this.m_fileName;

InputStream stream = upFile.getInputStream();

byte[] data = newbyte[(int)upFile.getSize()];//128k

stream.read(data);

stream.close();

RandomAccessFile raf = newRandomAccessFile(filePath,"rw");

//定位文件位置

raf.write(data);

raf.close();

}

asp.net文件上传代码

using System;

using System.Web;

using System.IO;

namespace WebApplication1

{

publicpartialclassupload : System.Web.UI.Page

{

protectedvoid Page_Load(object sender, EventArgs e)

{

var remark = HttpUtility.UrlDecode(remark);

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);

}

}

}

}

}

php文件上传代码

<?php

ob_start();

//201201/10

$timeDir = date("Ym")."/".date("d");

$pathSvr = dirname(__FILE__)."/upload/$timeDir/";

$curDomain = "http://".$_SERVER["HTTP_HOST"];

//相对路径 http://www.ncmem.com/upload/2012-1-10/

$pathRel = "$curDomain/img/upload/$timeDir/";

//自动创建目录。upload/2012-1-10

if(!is_dir($pathSvr))

{

mkdir($pathSvr,0777,true);

}

//如果PHP页面为UTF-8编码,请使用urldecode解码文件名称

//$fileName = urldecode($_FILES['img']['name']);

//如果PHP页面为GB2312编码,则可直接读取文件名称

$nameSvr  = $_FILES['img']['name'];

$nameSvr  = urldecode($nameSvr);

$tmpName  = $_FILES['img']['tmp_name'];

//$uid      = $_POST["UserID"];

$id       = $_POST["id"];

$width    = $_POST["width"];

$height   = $_POST["height"];

$remark   = $_POST["remark"];//utf-8则需要进行URL解码,gbk不用解码

$cateName = $_POST["cname"];

$cateVal  = $_POST["cvalue"];

//取文件扩展名jpg,gif,bmp,png

$path_parts = pathinfo($nameSvr);

$ext = $path_parts["extension"];

//只允许上传图片类型的文件

if(    0 == strcasecmp($ext,"jpg")

|| 0 == strcasecmp($ext,"jpeg")

|| 0 == strcasecmp($ext,"png")

|| 0 == strcasecmp($ext,"gif")

|| 0 == strcasecmp($ext,"bmp") )

{

//xxx/2011_05_05_091250000.jpg

$savePath = $pathSvr . $nameSvr;

//另存为新文件名称

if (!move_uploaded_file($tmpName,$savePath))

{

exit('upload error!' . "文件名称:" .$nameSvr . "保存路径:" . $savePath);

}

}

//输出图片路径

//$_SERVER['HTTP_HOST']localhost:81

//$_SERVER['REQUEST_URI'] /FCKEditor2.4.6.1/php/test.php

$reqPath = str_replace("upload.php","",$_SERVER['REQUEST_URI']);

$fn = $pathRel.$nameSvr;

$res = "{\"id\":\"$id\",\"success\":1,\"url\":\"$fn\"}";

echo $res;

header('Content-type: text/html; charset=utf-8');

header('Content-Length: ' . ob_get_length());

?>

泽优web图片上传控件(img2)采用HTTP协议上传,支持asp,jsp,php,asp.net等任何Web开发语言。且提供js-sdk,能够方便的集成到任何项目中。

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

如何在Web页面里使用高拍仪扫描上传图像的更多相关文章

  1. 如何在Web页面里面使用高拍仪扫描上传图像

    问题: 在网页上,客户端访问的时候,可以扫描图象(通过扫描仪),并放到网页上,上传到服务器,如何实现?就是提供扫描仪的驱动程序,并使用扫描仪来扫描图象 ,有没有此类的ActiveX控件 回复: 目前大 ...

  2. web高拍仪图片上传

    公司引进高拍仪,想拍完照片点上传按钮直接上传图片.高拍仪接口能提供照片的本地路径,现在的问题是不用file控件选择,只有路径,不知道如何上传到服务器,求解决方案. 方法: 使用泽优Web图片上传控件( ...

  3. Web操作摄像头、高拍仪、指纹仪等设备的功能扩展方案

    摘要:信息系统开发中难免会有要操作摄像头.高拍仪.指纹仪等硬件外设,异或诸如获取机器签名.硬件授权保护(加密锁)检测等情况.受限于Web本身运行机制,就不得不使用Active.浏览器插件进行能力扩展了 ...

  4. 高拍仪拍照SDK开发(良田影像S300L|S500L)

    高拍仪拍照SDK开发下载地址:点击下载 本SDK适用于:良田影像S300L|S500L 高拍仪如图: SDN开发包安装之后找到安装目录,如图: 大家找到各自需要的版本即可,需要注意的是如果需要上传图片 ...

  5. 捷宇高拍仪XY530 网页集成总结

    应甲方要求,需要把高拍仪集成到B/S系统中来,在集成过程中遇到的几点问题做为总结,以备查找. 1.甲方送来的高拍仪是淘宝上买来的,型号是XY530,功能非常简单,成像效果也很一般.如果没有其它要求,可 ...

  6. 良田高拍仪集成vue项目

    一.硬件及开发包说明: 产品型号为良田高拍仪S1800A3,集成b/s系统,适用现代浏览器,图片使用BASE64数据.开发包的bin文件下的video.flt文件需要和高拍仪型号的硬件id对应,这个可 ...

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

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

  8. 如何在Web应用里消费SAP Leonardo的机器学习API

    去年5月的时候,Jerry曾经写了一篇文章:使用Java程序消费SAP Leonardo的机器学习API,而最近另外做的一个项目,需要在Web应用里做同样的事情. 因为有了前一篇文章的铺垫,避免了很多 ...

  9. FineBI如何在web页面中嵌入式集成

    1. API嵌入集成 1.1 描述 FineBI是基于B/S架构的浏览器/服务器模式,现在用户开发的系统基本上趋向于B/S架构的浏览器/服务器模式,因此有些页面完全可以直接采用web页面嵌入式集成的简 ...

随机推荐

  1. 【MM系列】SAP 创建工厂

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 创建工厂   前言部分 大家 ...

  2. 【Unity Shader】---数据类型和关键字

    一.基本数据类型:Cg支持7种基本的数据类型 1.float,32位浮点数据,一个符号位.浮点数据类型被所有的图形接口支持: 2.half,16位浮点数据: 3.int,32位整形数据 4,fixed ...

  3. 数据库之DML

    1.表的有关操作: 1.1.表的创建格式: CREATE TABLE IF NOT EXISTS 表名(属性1 类型,属性2 类型,....,属性n 类型):# 标记部分表示可以省略 1.2.表的修改 ...

  4. 【Qt开发】【Linux开发】QT设置环境变量QWS_DISPLAY

    QT设置环境变量QWS_DISPLAY 当应用程序./myQtApp -qws启动时,会去检测QWS_DISPLAY这个环境变量, 判断界面最终显示在哪个framebuffer中, 如果是虚拟的fra ...

  5. C盘无损扩容(傻逼拯救者128G固态分两个盘)

    下载DiskGenius.exe 进行拆分分区(我从d盘拆分出20G给c盘) 然后右键此电脑,管理->磁盘管理 选中刚分出来的20G空间指向到c盘

  6. python 并发编程 多进程 互斥锁

    运行多进程  每个子进程的内存空间是互相隔离的 进程之间数据不能共享的 一 互斥锁 但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终 ...

  7. GmSSL Build with VS2017

    使用背景: 最近研究GB35114, 有关于sip协议部分,exosip的已经编译过,由于gb3511中采用的是国密算法,因此这里记录一下GMSSL在windows下的编译过程以及遇到的错误 详细GM ...

  8. [Codeforces 1228E]Another Filling the Grid (排列组合+容斥原理)

    [Codeforces 1228E]Another Filling the Grid (排列组合+容斥原理) 题面 一个\(n \times n\)的格子,每个格子里可以填\([1,k]\)内的整数. ...

  9. letsencrypt 免费SSL证书申请, 自动更新

    Let's Encrypt 泛域名 证书申请 及自动更新 关键字:SSL证书.HTTPS 初次申请 1. 下载certbot wget https://dl.eff.org/certbot-auto ...

  10. 使用ajax发送文件的三种方式及预览图片的方法,上传按钮美化

    后端代码 def upload(request): if request.method == "GET": return render(request,'upload.html') ...