捷宇高拍仪XY530 网页集成总结
应甲方要求,需要把高拍仪集成到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的控件会把图片存在客户机上,你也可以自己去实现上传功能!
总体来说还是很简单的!
最新文章
- jQuery的几种简单实用效果
- 【iOS】Quartz2D矩阵操作
- JAVA导出数据到excel中大数据量的解决方法
- [转]玩转Google开源C++单元测试框架Google Test系列
- Ehcache(05)——缓存的查询
- JVM最多可创建多少线程
- Android广播接收者应用(电话拦截器)
- C#BASE64 UTF8字符串加密解密
- windows无效字符名导致的错误及解决办法
- 【转】Freemarker输出$和html标签等特殊符号
- Discuz插件开发之全站论坛目录结构注释
- Nio经典工作方式
- es6的箭头函数
- 使用DataFlow表达ControlFlow的一些思考
- 【一天一道LeetCode】#18. 4Sum
- Spring Cloud Alibaba到底坑不坑?
- JGUI源码:Accordion兼容IE8实现(3)
- Python拆分DataFrame
- html2pdf后逐页固定位置盖公章
- vue生命周期图示中英文版Vue实例生命周期钩子
热门文章
- Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
- scrapy-redis源码解读之发送POST请求
- MATLAB解决常微分方程
- 51nod1347(简单逻辑)
- 洛谷P2474 [SCOI2008]天平
- MCP|LDY|Mass Spectrometry-based Absolute Quantification of 20S Proteasome Status for Controlled Ex-vivo Expansion of Human Adipose-derived Mesenchymal Stromal/Stem Cells(基于质谱技术的20S蛋白酶体绝对定量方法监控人体脂肪...
- xml 的使用和解析 及解析工具
- STP-15-PortFast端口
- input 上传文件的判断
- Python之PIP安装