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 相关文章推荐
JQuery 插件制作实践 xMarquee插件V1.0
Apr 02 Javascript
javascript中的onkeyup和onkeydown区别介绍
Apr 28 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
基于jQuery的判断iPad、iPhone、Android是横屏还是竖屏的代码
May 11 Javascript
JS实现跟随鼠标立体翻转图片的方法
May 04 Javascript
jQuery绑定事件-多种实现方式总结
May 09 Javascript
使用Bootstrap打造特色进度条效果
May 02 Javascript
JQuery用$.ajax或$.getJSON跨域获取JSON数据的实现代码
Sep 23 jQuery
JavaScript简单实现关键字文本搜索高亮显示功能示例
Jul 25 Javascript
解决vuejs项目里css引用背景图片不能显示的问题
Sep 13 Javascript
Vue实现购物车详情页面的方法
Aug 20 Javascript
Vue中computed及watch区别实例解析
Aug 01 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第一季视频教程(李炎恢+php100 不断更新)
2011/05/29 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
PHP重定向与伪静态区别
2017/02/19 PHP
JavaScript Title、alt提示(Tips)实现源码解读
2010/12/12 Javascript
JavaScript入门之对象与JSON详解
2011/10/21 Javascript
js控制淡入淡出示例代码
2013/11/12 Javascript
JavaScript中伪协议 javascript:使用探讨
2014/07/18 Javascript
jquery.validate使用详解
2016/06/02 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
webpack热模块替换(HMR)/热更新的方法
2018/04/05 Javascript
Angular ng-animate和ng-cookies用法详解
2018/04/18 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
JavaScript中0、空字符串、'0'是true还是false的知识点分享
2019/09/16 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
vue实现购物车案例
2020/05/30 Javascript
flask中使用SQLAlchemy进行辅助开发的代码
2013/02/10 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
详解Python 函数如何重载?
2019/04/23 Python
Python常用模块sys,os,time,random功能与用法实例分析
2020/01/07 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
一款纯css3实现的颜色渐变按钮的代码教程
2014/11/12 HTML / CSS
Android笔试题总结
2014/11/29 面试题
linux面试题参考答案(8)
2016/04/19 面试题
Java面试题:为什么要用Java
2012/05/11 面试题
竞聘上岗演讲稿范文
2014/01/10 职场文书
高一家长会邀请函
2014/01/12 职场文书
大学生在校学习的自我评价
2014/02/18 职场文书
欢迎横幅标语
2014/06/17 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
学习与创新自我评价
2015/03/09 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2015年度校学生会工作总结报告
2015/05/23 职场文书
Python批量将csv文件转化成xml文件的实例
2021/05/10 Python
利用Matlab绘制各类特殊图形的实例代码
2021/07/16 Python