应甲方要求,需要把高拍仪集成到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. Metasploit和python两种安全工具的学习笔记

    Metasploit是个好东西 主要参考了<Metasploit渗透测试魔鬼训练营>这本书. 一.先用自己的靶机感受一下该工具的强大 linux靶机的ip如图 按照书上写的配置,如图 然后 ...

  2. 为什么Java的hash表的长度一直是2的指数次幂?为什么这个(hash&(h-1)=hash%h)位运算公式等价于取余运算?

    1.什么是hash表? 答:简单回答散列表,在hash结构散列(分散)存放的一种数据集结构. 2.如何散列排布,如何均匀排布? 答:取余运算 3.Java中如何实现? 答:hash&(h-1) ...

  3. Ocelot(四)- 认证与授权

    Ocelot(四)- 认证与授权 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/10932805.html 源码地址:http ...

  4. tp5模型事件回调函数中不能使用$this

    tp5模型事件回调函数中不能使用$this,使用会报错,涉及到数据库操作使用Db类,不能使用$this->save()之类的方式 如果回调函数中需要使用类内函数,需要将函数定义为static,通 ...

  5. poi使用

    1.首先需要下载Apache POI 打开poi下载的链接:http://poi.apache.org/download.html  ,点击“The latest stable release is ...

  6. Jmeter4.0---- HTTP请求默认值(15)

    1.说明 在线程组中,添加”HTTP请求默认值”,并填写 协议,服务器名称/IP ,端口号,编码等 ,之后该线程组中的所有请求,可以不用填写这几项,启动后会直接调用”HTTP请求默认值”中的数据,方便 ...

  7. 爬虫(AJEX)——豆瓣动态页面

    工具:python3 解释:Ajax 是一种用于创建快速动态网页的技术,在无需重新加载整个网页的情况下,能够更新部分网页的技术. 目标:爬取使用Ajex结束的豆瓣网页 import urllib.re ...

  8. python入门之random模块

    #!/usr/bin/env python #_*_encoding: utf-8_*_ import random print(random.random()) #生成一个在0到1之间的随机浮点数 ...

  9. 解决gap 采用increapment scn 方式 操作。

    ###########1 1.查看备库的scn ⚠️如果控制文件,数据文件,数据文件头部的scn不一致,需要根据日志中的gap的起始sequence# 找到对应的scn col  current_sc ...

  10. 最小生成树(prim算法和kruskal算法)

    学习博客:https://www.cnblogs.com/zhangming-blog/p/5414514.html 其实就是加点法:从不属于这个集合的点中找从本集合可以找到的最小边,加入本集合 看代 ...