JavaScript中附件预览功能实现详解(推荐)


Posted in Javascript onAugust 15, 2017

由于公司的EMP影像平台比较繁琐,还需要下载才能够能够进行图片的预览,于是业务人员提出在附件列表页面增加预览页面。今天将完成的过程记录下来:

一种是js版本的,另一种是jquery版本, 在这里使用的是js版本的。jquery版本只是引入方式略有不同。

1.引入插件(已上传)

<SCRIPT src="styles/ccc/jquery.min.js"></SCRIPT>
 
<SCRIPT src="styles/ccc/viewer-jquery.min.js"></SCRIPT>

2.将预览页面写活

<SCRIPT>
var attach_path= '${param.attach_path}';
var attach_name= decodeURI('${param.attach_name}');
var attachPath= new Array();
attachName=attach_name.split(",");
var attachPath1= new Array();
attachPath1=attach_path.split(",");
for (var i=0;i<attachPath1.length;i++)
{ 
 attachPath2='102storage'+attachPath1[i];
 $("#jq22").append("<li><img alt='"+attachName[i]+"' src='"+attachPath2+"'></li>"); 
}
$(function() {
 $('#jq22').viewer({
  url: 'data-original',
 });
});
</SCRIPT>

将图片的路径从之前的列表页面传到预览页面,进行图片预览时既可以多选又可以不选,如果不选则默认展示本列表所有的图片,勾选的话则展示勾选的之后的图片,在这里发现APP上传了许多的图片的压缩包,所以在后台增加了自动解压的*.zip,*.rar的功能,这部分需要引入第三方jar包,1.6的仅支持*.zip格式的解压,并且最坑的sun公司默认编码,如果有中文就会报错,到jdk1.7才支持中文

import java.io.*; 
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import org.apache.tools.zip.ZipEntry;
import org.apache.tools.zip.ZipFile;
import com.yucheng.cmis.operation.CMISOperation;
import com.github.junrar.Archive;
import com.github.junrar.rarfile.FileHeader;

3.异步删除解压文件

考虑到解压之后的会占用共享磁盘的空间,所以在解压之后做异步删除,时间在20s之后,时间足够,不过20s之后如果点击重新加载页面的话会图片加载失败,因为图片的路径已经失效了。

//异步删除文件(节省空间)
   List<Thread> threadList = new ArrayList<Thread>();
   Thread thread = new Thread(new DeleteTemporaryFolder(dstDirectoryPath));
   thread.start();
   for(Thread t : threadList){
    try {
     t.join();
    } catch (InterruptedException e) {
     e.printStackTrace();
    }
   }

4.磁盘挂载

在显示图片的时候,页面是访问不了工程以为的图片路径,所以需要执行挂载命令将共享磁盘的路径挂载在工程下的某个路径

mount --bind /testshare01 /app/cmis/project/cmis.war/ff/testshare01

这样就可以正常展示了

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持!

Javascript 相关文章推荐
颜色选择器 Color Picker,IE,Firefox,Opera,Safar
Nov 25 Javascript
JavaScript常用对象的方法和属性小结
Jan 24 Javascript
jquery实现表格奇数偶数行不同样式(有图为证及实现代码)
Jan 23 Javascript
原生javascript实现DIV拖拽并计算重复面积
Jan 02 Javascript
jQuery的bind()方法使用详解
Jul 15 Javascript
基于jQuery实现仿百度首页换肤背景图片切换代码
Aug 25 Javascript
Backbone中View之间传值的学习心得
Aug 09 Javascript
js仿淘宝商品放大预览功能
Mar 15 Javascript
jquery手机触屏滑动拼音字母城市选择器的实例代码
Dec 11 jQuery
vue项目tween方法实现返回顶部的示例代码
Mar 02 Javascript
跟混乱的页面弹窗说再见
Apr 11 Javascript
js this 绑定机制深入详解
Apr 30 Javascript
input输入框内容实时监测(附代码)
Aug 15 #Javascript
vue的基本用法与常见指令
Aug 15 #Javascript
vue如何集成raphael.js中国地图的方法示例
Aug 15 #Javascript
JavaScript与Java正则表达式写法的区别介绍
Aug 15 #Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
Aug 15 #Javascript
form表单序列化详解(推荐)
Aug 15 #Javascript
JavaScript上传文件时不用刷新页面方法总结(推荐)
Aug 15 #Javascript
You might like
php+ajax实现无刷新分页
2015/11/18 PHP
joomla实现注册用户添加新字段的方法
2016/05/05 PHP
PHP判断密码强度的方法详解
2017/05/26 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
PHP使用phpunit进行单元测试示例
2019/09/23 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
JS获取时间的方法
2015/01/21 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
用AngularJS的指令实现tabs切换效果
2016/08/31 Javascript
vue的安装及element组件的安装方法
2018/03/09 Javascript
微信小程序实现漂亮的弹窗效果
2020/05/26 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
原生JS使用Canvas实现拖拽式绘图功能
2019/06/05 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
在Python中居然可以定义两个同名通参数的函数
2019/01/31 Python
在python下使用tensorflow判断是否存在文件夹的实例
2019/06/10 Python
如何在Python 游戏中模拟引力
2020/03/27 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
英国最受欢迎的价格比较网站之一:MoneySuperMarket
2018/12/19 全球购物
FORZIERI福喜利中国官网:奢侈品购物梦工厂
2019/05/03 全球购物
如何查找和删除数据库中的重复数据
2014/11/05 面试题
舞蹈教育学专业推荐信
2013/11/27 职场文书
铁路工务反思材料
2014/02/07 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
校园绿化美化方案
2014/06/08 职场文书
申报材料格式
2014/12/30 职场文书
餐饮食品安全责任书
2015/01/29 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
爱的教育读书笔记
2015/06/26 职场文书
学术会议领导致辞
2015/07/29 职场文书
2019暑假阅读倡议书
2019/06/24 职场文书