最近接到一个要在前端解压zip文件,并分析包内目录结构的需求。
百度了一下基本上都是用了zip.js,博客也都是出自同一个人之手。。demo实际上都是不能用的。。最后花了一点时间,自己调出来了,在此分享一下。
网上的版本只提供了mime-types.js、UnZipArchive.js、zip.js 三个包,
而实际的使用中,还需要另外的两个包:inflate.js、z-worker.js
这也就是为什么用网上的版本运行demo的时候会提示z-worker.js找不到了。即下图报错:
添加了inflate.js、z-worker.js包之后:解压正常
demo下载地址:zip.js-demo下载 需放在tomcat或者其他的服务器上使用
本地测试的话,会报以下错误:
!!最后需要注意的点
在demo中我是将这些文件放在同一个文件夹下,即同一级。
在实际开发中会根据需要修改页面的映射路径,可能会出现找不到z-worker.js的报错。
我通过查看源码发现,z-worker.js、deflate.js路径是在zip.js中设置的:
由此可知,默认会读取页面映射路径同级(注意!是映射路径,而非实际路径)的z-worker.js和inflater.js,
因此实际开发中,根据实际情况修改上述配置即可~