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 相关文章推荐
JS异常处理的一个想法(sofish)
Mar 14 Javascript
jQuery之尺寸调整组件的深入解析
Jun 19 Javascript
jQuery中toggleClass()方法用法实例
Jan 05 Javascript
javascript下使用Promise封装FileReader
Feb 19 Javascript
jquery文字填写自动高度的实现方法
Nov 07 Javascript
Bootstrap select下拉联动(jQuery cxselect)
Jan 04 Javascript
JS实现的四级密码强度检测功能示例
May 11 Javascript
值得收藏的vuejs安装教程
Nov 21 Javascript
JS判断字符串是否为整数的方法--简单的正则判断
Jul 23 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
Feb 12 Javascript
JavaScript类的继承多种实现方法
May 30 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
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中in_array函数用法探究
2014/11/25 PHP
php+html5实现无刷新图片上传教程
2016/01/22 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
Javascript 加载和执行-性能提高篇
2012/12/28 Javascript
jQuery.buildFragment使用方法及思路分析
2013/01/07 Javascript
js编写trim()函数及正则表达式的运用
2013/10/24 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
JavaScript每天必学之事件
2016/09/18 Javascript
JS正则表达式判断有效数实例代码
2017/03/13 Javascript
javascript实现非常简单的小数取整功能示例
2017/06/13 Javascript
浅谈如何使用webpack构建多页面应用
2018/05/30 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
微信小程序的tab选项卡的实现效果
2019/05/15 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
微信小程序实现购物车功能
2020/11/18 Javascript
[28:07]完美世界DOTA2联赛PWL S3 Phoenix vs INK ICE 第二场 12.13
2020/12/17 DOTA
Python中的Numeric包和Numarray包使用教程
2015/04/13 Python
Python中类型关系和继承关系实例详解
2015/05/25 Python
深入学习Python中的装饰器使用
2016/06/20 Python
mac下pycharm设置python版本的图文教程
2018/06/13 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
python 在某.py文件中调用其他.py内的函数的方法
2019/06/25 Python
Python+opencv 实现图片文字的分割的方法示例
2019/07/04 Python
KIKO MILANO荷兰网上商店:意大利专业化妆品品牌
2017/05/12 全球购物
一套Delphi的笔试题二
2013/05/11 面试题
行政管理人员精品工作推荐信
2013/11/04 职场文书
业务部经理岗位职责
2014/01/04 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
工程资料员岗位职责
2015/04/13 职场文书
公司表扬信格式
2015/05/04 职场文书
民事辩护词范文
2015/05/21 职场文书
详解Spring事件发布与监听机制
2021/06/30 Java/Android
关于Python中*args和**kwargs的深入理解
2021/08/07 Python