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 相关文章推荐
使用户点击后退按钮使效三行代码
Jul 07 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
Mar 14 Javascript
使用ImageMagick进行图片缩放、合成与裁剪(js+python)
Sep 16 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
Feb 24 Javascript
在JavaScript应用中实现延迟加载的方法
Jun 25 Javascript
简单介绍JavaScript中字符串创建的基本方法
Jul 07 Javascript
Webpack 实现 Node.js 代码热替换
Oct 22 Javascript
在vue中实现简单页面逆传值的方法
Nov 27 Javascript
新版vue-cli模板下本地开发环境使用node服务器跨域的方法
Apr 03 Javascript
详解vue中router-link标签所必备了解的属性
Apr 15 Javascript
JS使用for in有序获取对象数据
May 19 Javascript
小程序实现录音功能
Sep 22 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时的知识积累总结
2013/06/07 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
2016/07/07 PHP
php 运算符与表达式详细介绍
2016/11/30 PHP
Laravel定时任务的每秒执行代码
2019/10/22 PHP
nodejs入门详解(多篇文章结合)
2012/03/07 NodeJs
js完美的div拖拽实例代码
2014/01/22 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
js实现图片点击左右轮播
2015/07/08 Javascript
Bootstrap树形组件jqTree的简单封装
2016/01/25 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
jquery实现侧边栏左右伸缩效果的示例
2017/12/19 jQuery
vue2.0+vue-dplayer实现hls播放的示例
2018/03/02 Javascript
JS实现将二维数组转为json格式字符串操作示例
2018/07/12 Javascript
解决vue的 v-for 循环中图片加载路径问题
2018/09/03 Javascript
js实现通过开始结束控制的计时器
2019/02/25 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
2020/04/08 Javascript
JS 设计模式之:工厂模式定义与实现方法浅析
2020/05/06 Javascript
jQuery 添加元素和删除元素的方法
2020/07/15 jQuery
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
python求众数问题实例
2014/09/26 Python
python分割列表(list)的方法示例
2017/05/07 Python
Django中cookie的基本使用方法示例
2018/02/03 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
对pyqt5中QTabWidget的相关操作详解
2019/06/21 Python
django 简单实现登录验证给你
2019/11/06 Python
python关闭占用端口方式
2019/12/17 Python
pycharm实现在虚拟环境中引入别人的项目
2020/03/09 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
就业表自我评价分享
2014/02/06 职场文书
庆元旦广播稿
2014/02/10 职场文书
机械工程及自动化专业求职信
2014/09/03 职场文书
个人租房协议书
2014/11/28 职场文书
监守自盗观后感
2015/06/10 职场文书
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python