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 相关文章推荐
按下Enter焦点移至下一个控件的实现js代码
Dec 11 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
JS实现显示带倒影的图片横排居中放大展示特效实例【测试可用】
Aug 23 Javascript
EasyUI Combobox设置默认值 获取text的方法
Nov 28 Javascript
完美实现js焦点轮播效果(一)
Mar 07 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
js实现导航跟随效果
Nov 17 Javascript
NUXT SSR初级入门笔记(小结)
Dec 16 Javascript
使用vue打包进行云服务器上传的问题
Mar 02 Javascript
详解Vue3 Composition API中的提取和重用逻辑
Apr 29 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中批量删除Mysql中相同前缀的数据表的代码
2011/07/01 PHP
php中配置文件操作 如config.php文件的读取修改等操作
2012/07/07 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
PHP实现更新中间关联表数据的两种方法
2014/09/01 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
Laravel 框架控制器 Controller原理与用法实例分析
2020/04/14 PHP
jQuery 树形结构的选择器
2010/02/15 Javascript
js判断输入是否为正整数、浮点数等数字的函数代码
2010/11/17 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
2013/05/07 Javascript
输入框过滤非数字的js代码
2014/09/18 Javascript
JS实现上下左右对称的九九乘法表
2016/02/22 Javascript
jquery自定义插件开发之window的实现过程
2016/05/06 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
jQuery日程管理控件glDatePicker用法详解
2017/03/29 jQuery
WdatePicker.js时间日期插件的使用方法
2017/07/26 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
python实现在pickling的时候压缩的方法
2014/09/25 Python
详解Python中expandtabs()方法的使用
2015/05/18 Python
Python的爬虫包Beautiful Soup中用正则表达式来搜索
2016/01/20 Python
python运行其他程序的实现方法
2017/07/14 Python
python分布式环境下的限流器的示例
2017/10/26 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
Python3 合并二叉树的实现
2019/09/30 Python
pytorch1.0中torch.nn.Conv2d用法详解
2020/01/10 Python
基于Python的接口自动化读写excel文件的方法
2021/01/15 Python
css3实现平移效果(transfrom:translate)的示例
2020/11/13 HTML / CSS
HTML5 window/iframe跨域传递消息 API介绍
2013/08/26 HTML / CSS
英国高街电视:High Street TV
2018/05/22 全球购物
《邮票齿孔的故事》教学反思
2014/02/22 职场文书
个人承诺书格式
2014/06/03 职场文书
写给老师的保证书
2015/05/09 职场文书
工作经历证明范本
2015/06/15 职场文书
队列队形口号
2015/12/25 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle