如何在Web页面里使用高拍仪扫描上传图像
如何在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页面里使用高拍仪扫描上传图像的更多相关文章
- 如何在Web页面里面使用高拍仪扫描上传图像
问题: 在网页上,客户端访问的时候,可以扫描图象(通过扫描仪),并放到网页上,上传到服务器,如何实现?就是提供扫描仪的驱动程序,并使用扫描仪来扫描图象 ,有没有此类的ActiveX控件 回复: 目前大 ...
- web高拍仪图片上传
公司引进高拍仪,想拍完照片点上传按钮直接上传图片.高拍仪接口能提供照片的本地路径,现在的问题是不用file控件选择,只有路径,不知道如何上传到服务器,求解决方案. 方法: 使用泽优Web图片上传控件( ...
- Web操作摄像头、高拍仪、指纹仪等设备的功能扩展方案
摘要:信息系统开发中难免会有要操作摄像头.高拍仪.指纹仪等硬件外设,异或诸如获取机器签名.硬件授权保护(加密锁)检测等情况.受限于Web本身运行机制,就不得不使用Active.浏览器插件进行能力扩展了 ...
- 高拍仪拍照SDK开发(良田影像S300L|S500L)
高拍仪拍照SDK开发下载地址:点击下载 本SDK适用于:良田影像S300L|S500L 高拍仪如图: SDN开发包安装之后找到安装目录,如图: 大家找到各自需要的版本即可,需要注意的是如果需要上传图片 ...
- 捷宇高拍仪XY530 网页集成总结
应甲方要求,需要把高拍仪集成到B/S系统中来,在集成过程中遇到的几点问题做为总结,以备查找. 1.甲方送来的高拍仪是淘宝上买来的,型号是XY530,功能非常简单,成像效果也很一般.如果没有其它要求,可 ...
- 良田高拍仪集成vue项目
一.硬件及开发包说明: 产品型号为良田高拍仪S1800A3,集成b/s系统,适用现代浏览器,图片使用BASE64数据.开发包的bin文件下的video.flt文件需要和高拍仪型号的硬件id对应,这个可 ...
- B/S(WEB)系统中使用Activex插件调用扫描仪实现连续扫描并上传图像(IE文件扫描并自动上传)
IE浏览器下使用Activex插件调用客户端扫描仪扫描文件并山传,可以将纸质档案(如合同.文件.资料等)扫描并将扫描图像保存到服务器,可以用于合同管理.档案管理等. 通过插件方式调用扫描仪扫描并获取图 ...
- 如何在Web应用里消费SAP Leonardo的机器学习API
去年5月的时候,Jerry曾经写了一篇文章:使用Java程序消费SAP Leonardo的机器学习API,而最近另外做的一个项目,需要在Web应用里做同样的事情. 因为有了前一篇文章的铺垫,避免了很多 ...
- FineBI如何在web页面中嵌入式集成
1. API嵌入集成 1.1 描述 FineBI是基于B/S架构的浏览器/服务器模式,现在用户开发的系统基本上趋向于B/S架构的浏览器/服务器模式,因此有些页面完全可以直接采用web页面嵌入式集成的简 ...
随机推荐
- ARTS-1
ARTS的初衷 Algorithm:主要是为了编程训练和学习.每周至少做一个 leetcode 的算法题(先从Easy开始,然后再Medium,最后才Hard).进行编程训练,如果不训练你看再多的算法 ...
- Django框架效率问题的解决方法和总…
由于项目的需要,学习了Django框架,Django框架的MTV很清晰,通过MTV能够很好地了解Django框架的内部机理.但是在使用过程中发现了一个严重的问题,就是当有大量IO(写数据库操作)的时候 ...
- 安卓和IOS抓包工具
安卓手机抓包软件:Packet Capture,抓包精灵…… 1.Packet Capture又名无root抓包(一款依托安卓系统自身VPN来达到免Root抓取数据包的应用程序) 功能特点: 捕获网络 ...
- [ScreenOS] How to manually generate a new system self-signed certificate to replace the expired system self-signed certificate without resetting the firewall
SUMMARY: This article provides information on how to manually generate a new system self-signed cert ...
- 【ABAP系列】SAP ABAP 开发中的SMARTFORMS 参数
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 开发中的SMA ...
- pyspark的安装配置
1.搭建基本spark+Hadoop的本地环境 https://blog.csdn.net/u011513853/article/details/52865076?tdsourcetag=s_pcqq ...
- 期货、股指期权、ETF期权
期货与期权: 期权是指一种合约,该合约赋予持有人在某一特定日期或该日之前的任何时间以固定价格购进或售出某种资产的权利. 期货是标准化的合约,赋予参与者在未来的某个时间点以约定好的一个价格去买入或者卖出 ...
- java中重写
1.重写[针对父类与子类而言]---------即java的多态性[子类与父类间有相同的名称和参数,此方法就被重写Overriding:又称:方法覆盖] 子类对父类的允许访问的方法的实现过程进行重新编 ...
- jmeter正则提取器提取指定位置的字符串
1.需求:提取登录后的凭证ticket供系统其他接口调用 2.登录接口返回的格式如下: { "ret_code":0, "ret_msg":"logi ...
- java基础知识部分知识点
1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本 2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文 ...