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 相关文章推荐
javascript new一个对象的实质
Jan 07 Javascript
浅析JavaScript中的delete运算符
Nov 30 Javascript
jQuery中noConflict()用法实例分析
Feb 08 Javascript
js实现超简单的展开、折叠目录代码
Aug 28 Javascript
js强制把网址设为默认首页
Sep 29 Javascript
利用Javascript获取选择文本所在的句子详解
Dec 03 Javascript
vue弹窗组件使用方法
Apr 28 Javascript
详解vue添加删除元素的方法
Jun 30 Javascript
JavaScript的Object.defineProperty详解
Jul 09 Javascript
详解JavaScript中的函数、对象
Apr 01 Javascript
JQuery Ajax跨域调用和非跨域调用问题实例分析
Apr 16 jQuery
JavaScript实现下拉列表
Jan 20 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 开源框架22个简单简介
2009/08/24 PHP
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
PHP计算日期相差天数实例分析
2016/02/23 PHP
PHP生成静态HTML文档实现代码
2016/06/23 PHP
php报错502badgateway解决方法
2019/10/11 PHP
在修改准备发的批量美化select+可修改select时,在非IE下发现了几个问题
2007/01/09 Javascript
JavaScript 实现??打印?理
2007/04/28 Javascript
javascript globalStorage类代码
2009/06/04 Javascript
Mootools 1.2教程 同时进行多个形变动画
2009/09/15 Javascript
js倒计时小程序
2013/11/05 Javascript
JavaScript对内存分配及管理机制详细解析
2013/11/11 Javascript
JavaScript继承基础讲解(原型链、借用构造函数、混合模式、原型式继承、寄生式继承、寄生组合式继承)
2014/08/16 Javascript
javascript 自定义回调函数示例代码
2014/09/26 Javascript
纯javascript实现的小游戏《Flappy Pig》实例
2015/07/27 Javascript
jQuery实现带延迟效果的滑动菜单代码
2015/09/02 Javascript
以jQuery中$.Deferred对象为例讲解promise对象是如何处理异步问题
2015/11/13 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
jQuery Easyui datagrid/treegrid 清空数据
2016/07/09 Javascript
bootstrap table 数据表格行内修改的实现代码
2017/02/13 Javascript
微信小程序 开发之全局配置
2017/05/05 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
vue仿携程轮播图效果(滑动轮播,下方高度自适应)
2021/02/11 Vue.js
[01:00:30]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第二场 10.31
2020/11/02 DOTA
Python打印斐波拉契数列实例
2015/07/07 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
Python while循环使用else语句代码实例
2020/02/07 Python
多视角3D逼真HTML5水波动画
2016/03/03 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
eBay比利时购物网站:eBay.be
2019/08/09 全球购物
中年人生感言
2014/02/04 职场文书
银行简历自我评价
2014/02/11 职场文书
2014年党员公开承诺践诺书
2014/03/25 职场文书
小学课外活动总结
2014/07/09 职场文书
2015年行政执法工作总结
2015/05/23 职场文书
《刷子李》教学反思
2016/02/20 职场文书