基于ActiveX和Applet的影像浏览器的实现
来源:互联网 发布:天猫淘宝网连衣裙 编辑:程序博客网 时间:2024/06/04 08:40
最近在一个异常庞大的业务系统开发项目中遇到了需要在WEB页面上浏览TIFF格式图形文件的需求,众所周知HTML是不支持TIFF格式的图形显示的。更糟的是,因为影像文件来源于扫描设备,所以用户不愿意再人工的转换成其他图形格式。并且为了减少网络传输数据量,所有影像文件都被压缩成ZIP并放在一个远程的文件服务器上。另外用户还需要系统提供简单的图形操作功能,如:缩放,旋转,幻灯片,翻转,打印等。
这是一个典型的客户端影像文件浏览器的功能,目前很多网站上都有实现,一般使用JS,FLASH等工具实现,但是都不太能适合我们这个项目的需求。
在此之前的一个项目中曾经也遇到过这样的需求,由于客户只使用IE浏览器,所以选择了通过ActiveX控件的方式实现了影像文件浏览器的功能。但是ActiveX控件只能在IE上运行,FF和Chrome等其他浏览器就无法运行这些ActiveX控件了。虽然FF下有ActiveX的插件,但是运行不是很稳定。另外一个选择就是Applet(由于本人不擅长JavaScript和Flash),当然,运行Applet需要JRE,不过在目前普遍使用光纤的环境下,下载一个20多MB的JRE也并非不可接受。所以我们有了同时使用ActiveX和Applet来实现影像文件浏览器的设想。当用户使用IE浏览器时,则由ActiveX提供影像文件浏览器,如果是FF或其他浏览器,则使用Applet插件来提供影像文件浏览器。
以下提供一个简单的处理流程图:简单描述一下整个处理流程:
1. 根据用户的请求,查询数据库中对应的影像文件的存放路径等相关信息;
2. 检查客户端浏览器的类型;
3. 如果是IE浏览器,则跳转到使用ActiveX控件实现的影像文件浏览器的页面,否则就跳转到使用Applet实现的影像文件浏览器页面;
4. 根据传给页面的参数,使用FTP方式从远程文件服务器上下载相关的影像文件到客户端本地文件系统,并另存为一个临时文件;
5. 判断下载的临时文件是否是ZIP压缩文件,如果是则先进行解压缩处理;
6. ActiveX控件或Applet根据解压缩的临时文件展现实际的影像文件内容;
7. 当用户关闭浏览器时,自动删除临时文件。
以下为实现的效果截图:
1. 使用ActiveX技术实现的影像文件浏览器:2. 使用Applet技术实现的影像文件浏览器:
最后需要注意的是:为了能让Applet能够访问本地系统资源,需要将Jar文件进行数字签名,相关内容在我的另外一篇文章《Java Applet读写客户端串口——终极篇》中已经有详细的描述,在此就不再赘述了。
资源:
Applet实现的影像文件浏览器源代码已经放入SVN中:
URL:http://svn.storevm.org/svn/toolkit/imageviewer/trunk
用户名:reader
密码:reader
ActiveX实现的影像文件浏览器下载地址:
http://www.storevm.org/download/ImageViewer.rar- 基于ActiveX和Applet的影像浏览器的实现
- 主题研究:JAVA applet 和 ActiveX 的区别
- 基于MFC的activex控件实现ObjectSafety
- 基于VS2013的ActiveX控件实现
- 基于VS2013的ActiveX控件实现
- Java 的安装和Java Applet在浏览器中的使用
- 基于OpenCV和GDAL的遥感影像处理程序
- java:applet的实现
- 基于Authorware课件的具有导航功能的ActiveX控件的设计和实现
- {基于Applet的J2ME模拟器}和{microemulator}[J2ME推荐]
- {基于Applet的J2ME模拟器}和{microemulator}[J2ME推荐]
- {基于Applet的J2ME模拟器}和{microemulator}[J2ME推荐]
- 基于IE浏览器的色情图片过滤器的设计和实现
- 基于浏览器和手动选择语言的国际化实现
- flash,activeX,applet,shockwave无法浏览的原因及解决方法
- 跨浏览器的插件开发框架,兼容ActiveX 和 NPAPI
- Applet和数据库连接,以及Applet和JSP页面之间的值传递如何实现呢?
- OpenGL+QT实现矢量和影像的叠加绘制
- 香港撞船事故调查需半年 11名遇难者名单公布
- hunnu_11287 Thinking Inside the Box (简单几何)
- OpenCV 编程入门
- 外媒称中国现行社保制度"劫贫济富"
- 我发誓一辈子也不坐你的车
- 基于ActiveX和Applet的影像浏览器的实现
- GCC___attribute__关键字和字节对齐
- 线段树——Powered By NotOnlySuccess
- thinkphp 引用图片类
- 关于流行的几点思考——《引爆点》读书笔记
- 黑马程序员—sql总结(1)
- 类型同义词typedef
- 黑马程序员—sql总结(2)
- 林锐:我的大学十年