应甲方要求,需要把高拍仪集成到B/S系统中来,在集成过程中遇到的几点问题做为总结,以备查找。

1、甲方送来的高拍仪是淘宝上买来的,型号是XY530,功能非常简单,成像效果也很一般。如果没有其它要求,可以尝试用一下。

(PS,捷宇的400客户妹子服务态度挺好,晚上8点多还没下班,赞一个!)

,这货长这样,很朴素!

2、官方的光盘中只有驱动和软件,没有SDK开发包。这里是最新的,http://pan.baidu.com/s/1c247XgG 密码:jmpb

因为集成在网页上是ActiveX控件,仅支持IE浏览器,而且仅支持IE9及以上的浏览器。客户机是XP系统的就别指望了!

3、SDK中的服务器端很简陋,不建议在项目中直接使用。我的项目是.net的,这里贴出C#代码。

[HttpPost]
public ActionResult GPYUpload(string folderId)
{
string msgnull = "", msgconvert = "", msgex = "";
bool flag = true;
for (int i = 0; i < Request.Files.Count;i++ )
{
try
{
if (Request.Files[i] == null || string.IsNullOrEmpty(Request.Files[i].FileName) || Request.Files[i].ContentLength == 0)
{
msgnull = "部分文件未解析到!";
flag = false;
continue;
}
string FileName = Path.GetFileName(Request.Files[i].FileName);
string userId = OperatorProvider.Provider.Current().UserId;
string fileGuid = Guid.NewGuid().ToString();
long filesize = Request.Files[i].ContentLength;
string FileEextension = Path.GetExtension(Request.Files[i].FileName);
string uploadDate = DateTime.Now.ToString("yyyyMMdd");
string virtualPath = string.Format("~/DocumentFile/{0}/{1}/{2}{3}", userId, uploadDate, fileGuid, FileEextension);
string fullFileName = this.Server.MapPath(virtualPath);
string path = Path.GetDirectoryName(fullFileName);
Directory.CreateDirectory(path); if (!System.IO.File.Exists(fullFileName))
{
Request.Files[i].SaveAs(fullFileName);
FileInfoEntity fileInfoEntity = new FileInfoEntity();
fileInfoEntity.IsOnlineView = false;
fileInfoEntity.Create();
fileInfoEntity.FileId = fileGuid;
if (!string.IsNullOrEmpty(folderId))
{
fileInfoEntity.FolderId = folderId;
}
else
{
fileInfoEntity.FolderId = "0";
}
fileInfoEntity.FileName = FileName;// Request.Files[i].FileName;
fileInfoEntity.FilePath = virtualPath;
fileInfoEntity.FileSize = filesize.ToString();
fileInfoEntity.FileExtensions = FileEextension;
fileInfoEntity.FileType = FileEextension.Replace(".", ""); fileInfoBLL.SaveForm("", fileInfoEntity);
} }
catch (Exception ex)
{
msgex += ex.Message;
continue;
}
}
if (flag && Request.Files.Count>0)
{
return Success("上传成功。");
}
else
{
return Content(msgnull + ";" + msgconvert + ";" + msgex);
}
}

4、项目中使用的是IFrame嵌套各个子页面的,当把SDK例子完整放到系统中,一直报错,提示找不到方法。其实这是一个很大的坑!

仅仅是X-UA-Compatible值设置不对。

我的页面中是这样的<meta http-equiv="X-UA-Compatible" content="IE=edge">,SDK例子中是<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">,改成后者就好。

我就比较悲催了,父页面的代码不能改动(框架模版),在IFrame子页面中设置成EmulateIE9,还是无效!

网上查资料,有人说是微软的BUG,原文连接如下:

http://bbs.csdn.net/topics/390634956

只好改成弹出窗口方式了,实在没有办法了。

5、吐槽一下捷宇的SDK,接口太简陋了,可操作的余地太少了。上传过程中的提示太丑太丑,完成后也没有钩子执行自己的方法,就一个弹出框!

不过ActiveX的控件会把图片存在客户机上,你也可以自己去实现上传功能!

总体来说还是很简单的!

捷宇高拍仪XY530 网页集成总结的更多相关文章

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

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

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

    如何在Web页面里使用高拍仪扫描上传图像 市场上所有的高拍仪都支持扫描图片并保存到本地,一般公司都会提供控件.开发人员只需要在页面集成就可以进行拍照和扫描.只不过一般扫描的图片是保存在本地固定的文件夹 ...

  3. web高拍仪图片上传

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

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

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

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

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

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

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

  7. C#开发BIMFACE系列37 网页集成开发1:审图系统中加载模型或图纸

    系列目录     [已更新最新开发文章,点击查看详细] 在之前的<C#开发BIMFACE系列>中主要介绍了BIMFACE平台提供的服务端API接口的封装开发与测试过程. 服务端API测试通 ...

  8. Android -- 真正的 高仿微信 打开网页的进度条效果

    (本博客为原创,http://www.cnblogs.com/linguanh/) 目录: 一,为什么说是真正的高仿? 二,为什么要搞缓慢效果? 三,我的实现思路 四,代码,内含注释 五,使用方法与截 ...

  9. 高可用Hadoop平台-集成Hive HAProxy

    1.概述 这篇博客是接着<高可用Hadoop平台>系列讲,本篇博客是为后面用 Hive 来做数据统计做准备的,介绍如何在 Hadoop HA 平台下集成高可用的 Hive 工具,下面我打算 ...

随机推荐

  1. 高性能服务器设计(Jeff Darcy's notes on high-performance server design

    高性能服务器设计(Jeff Darcy's notes on high-performance server design 我想通过这篇文章跟大家共享一下我多年来怎样开发“服务器”这类应用的一些想法和 ...

  2. html5表单及新增的改良元素

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. PIP本地源搭建

    Wheel包制作 # pip install wheel # mkdir ~/wheels # cd < Project > # pip wheel --wheel-dir=~/wheel ...

  4. How to generate rtabmap with a Realsense D435 or Xtion Pro Live?(如何使用Realsense D435或者Xtion Pro Live生成rtabmap?)

    Ubuntu16.04,ROS kinetic 1.在ROS中安装rtabmap_ros包 sudo apt-get install ros-kinetic-rtabmap-ros 2. RGB-D相 ...

  5. nginx丢弃http包体处理

    http框架丢弃http请求包体和上一篇文章http框架接收包体, 都是由http框架提供的两个方法,供http各个模块调用,从而决定对包体做什么处理.是选择丢弃还是接收,都是由模块决定的.例如静态资 ...

  6. docker-compose搭建wordpress[转]

    1.安装docker-compose apt-get install docker-compose 发现下载的是旧版本,不支持2.0的配置文件 还是下载新版本吧,去github查看最新版本https: ...

  7. Maven的相关知识及使用

    一.简介 maven: 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目的,Maven是跨平台的项目管理工具. 1.自动化构建和项目管理工具 Ant→Make→Maven ...

  8. php魔术常量、超全局变量、魔术方法

    一.魔术常量(魔术变量) 概念:所谓的魔术常量就是PHP预定义的一些常量,这些常量会随着所在的位置而变化. 1.__LINE__  获取文件中的当前行号. 2.__FILE__  获取文件的完整路径和 ...

  9. EIGRP-1-EIGRP的基础和演变

    值得一提的是,在2013年,Cisco决定开放EIGRP的定义,并将其发布为IETFInternet草案,即RFC的前身:文档名称为draft-savage-eigrp.从此,基本的EIGRP不再是机 ...

  10. ios 容错处理AvoidCrash

    程序因为很多原因容易出现崩溃问题,比如数组越界.空字符串等造成的崩溃 // 在AppDelegate 写如下代码 初始化防止程序因数组和字符串等崩溃问题 //初始化 AvoidCrash (常用对象防 ...