应甲方要求,需要把高拍仪集成到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. HTML5秘籍(第2版) 中文pdf扫描版

      HTML5秘籍(第2版)共包括四个部分,共13章.第一部分介绍了HTML5的发展历程,用语义元素构造网页,编写更有意义的标记,以及构建更好的Web表单.第二部分介绍了HTML5中的音频与视频.CS ...

  2. nkv客户端性能调优

    此文已由作者张洪箫授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 问题描述 随着考拉业务的增长和规模的扩大,很多的应用都开始重度依赖缓存服务,也就是杭研的nkv.但是在使用过 ...

  3. SCUT - 223 - Maya - 构造

    https://scut.online/p/223 给定两个数N,M,构造M个在[0,80000]以内的互不相同的数使之异或和为N. 首先特判一下M<=2的两个简单情况,还有坑爹的-1! 然后想 ...

  4. Mysql导入导出数据库11111

    导出: 通过命令行  在MYSQL中的bin文件夹的目录下 输入:D:\phpStudy\MySQL\bin>mysqldump -uroot -p 数据库名 > 导出的文件名 导入: 需 ...

  5. 微信小程序小结(2) ------ 自定义组件

    在小程序中有模板跟组件的概念.但模板更多的用于内容的展示,更复杂的交互逻辑就没办法了.所以在小程序中也定义了一些组件来解决一些简单逻辑的功能. 但有时预定义的组件并不能满足我们的需求,这时就需要我们自 ...

  6. python之02数据类型学习

    参考链接:http://www.cnblogs.com/yuanchenqi/articles/5782764.html python的数据类型有:Number.Boolean.String .Lis ...

  7. 外企面试,哪有你想象的那么难!(已收埃森哲、NTTDATA等8家外企offer)

    无精疯,一名背包客,大学期间穷游了十余个国家,五十余座城市,也是一位拥有健身教练证的业余健身痴迷者.从大二开始自学Java并开始了第一份实习,后面也是通过自学转到了大数据,之前在一家大数据独角兽实习, ...

  8. d190305面试01过程记录和总结(java开发)

    1.签到,做题,注意时间.(疑问:做笔试题的时候,没有人监管吗?作弊怎么办) 2.今天做的是比较基础的题,题型有判断题(8),选择题(10),简答题(3),编程(2)逻辑题(2) (ps:感觉做的还不 ...

  9. DHCP原理和配置

    在大型网络中,会有大量的主机和设备需要获取ip地址和网络参数,为了解决手动配置的工作量大.ip冲突问题,因此需要使用DHCP(dynamic host configuration protocol). ...

  10. df 参数说明

    df -h 由 df 命令显示出的各列信息的含义分别是: Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称: 1K-blocks:此列表示文件系统的总大小,默认以 KB 为单 ...