下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、GitHub上一些有用的JavaScript的文件压缩解压缩库推举_ 这篇文章主要介绍了GitHub上一些有用的JavaScript的文件压缩解压缩库推举,推举的这几个都是支持zip格式的,需要的伴侣可以参考下 项目里要用到archive和unarchive整个已存在的folder,在找解决方案的时候尝试了一些当前比较流行的library,主要有adm-zip, JSZip, archiver等。 一.Use adm-zip adm-zip支持archive和unarchive一个或多个文件或者整个文件夹的功能,用法特别的简洁便利。 var adm_zip = require(adm-zip)
2、; /creating archives var zip = new adm_zip(); zip.addLocalFolder(archiver); zip.writeZip(adm/adm-archive.zip); /extracting archives var unzip = new adm_zip(adm/adm-archive.zip); unzip.extractAllTo(adm/adm-unarchive/, /*overwrite*/true); Pros and cons: 1. 同时实现了压缩和解压,而且只要供应路径就可以对已存在的文件或文件夹进行操作,实现了许多接口
3、,用法便利简洁。 2. 本身存在bug,有的时候解压文件没法还原到原来的文件。Hope慢慢这些bug会fix好。 二. UseJSZip 这个库在用法的时候需要把文件一个个增加到zip对象中,而且需要把内容也手动添加,再用法写文件操作把内存中的zip对象转成物理存储。所以假如是对于一整个文件夹来说,就很麻烦,需要遍历文件夹。 var JSZip = require(jszip); var fs = require(fs); var zip = new JSZip(); var file_content = fs.readFileSync(archive/a.txt); zip.file(a.t
4、xt,file_content); var data = fs.readFileSync(archive/img/pic.jpeg); zip.file(img/pic.jpeg, data, base64: true); var zipfolder = zip.generate(type:nodebuffer); fs.writeFile(jszip.zip, zipfolder, function(err) if (err) throw err; ); JSZip里面也有个folder方法,但它只是用来切换zip对象内部的虚拟路径,比如zip.folder(img).file(a.txt)
5、就是在zip中添加一个img子名目,在下面创建a.txt,效果等同于zip.file(img/a.txt)。这里还需要留意的是,文件的内容都需要手动添加,假如仅仅是zip.file(a.txt);只是在zip对象中创建了内容为空的txt文件,而且它只是存在于内存中,需要写文件操作后才会真正存到磁盘。 Pros and cons: 1.对于一些实时接受到的数据转成zip的比较适用。 2.对于已存在的文件夹操作不便,需要一个个把内容添加到zip对象,再转成文件。 3.许多编码需要留意。 4.只有压缩功能。 三. Use archiver and unzip 这个组合是最终我用法的,比较靠谱,用法也
6、比较简洁,其中archiver很强大,支持zip格式tar格式,只需要供应路径就可以压缩已存在的文件夹。 压缩: var fs = require(fs); var archiver = require(archiver); var output = fs.createWriteStream(archiver-unzip.zip); var archive = archiver(zip); archive.on(error, function(err) throw err; ); archive.pipe(output); archive.bulk( src: archiver/* ); archive.finalize(); 解压: var fs = require(fs); var unzip = require(unzip); fs.createReadStream(archiver-unzip.zip).pipe(unzip.Extract( path: unarchive )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《心肌疾病的护理》课件
- 《我的老师》(作文指导)三年级课件
- 2026年儿科雾化护理练习题及答案
- 2026年机械检验员模拟试题(含答案)
- 2026年暖通空调模拟试题及答案
- 2026年物业管理师(四级)(客户服务管理)试题及答案
- 2026年投资项目管理师《投资建设项目决策》试卷真题(含答案解析)
- 2026年北京公务员考试模拟题及答案详解
- 2026年米泉消防考试题库(含答案)
- 2026年中国草炭土市场研究与投资战略报告
- 2026年春招:中国航空发动机笔试题及答案
- 2026年现代汉语概论语法试题题库及参考答案
- 广东省深圳市福田区2025-2026学年统编版第二学期期末检测五年级语文试题
- 2026年成都市郫都区增量政策性岗位招募的(366人)笔试备考题库及答案详解
- 2024人教版八年级生物上册期末复习知识点背记提纲
- 2026新教材语文 16.金字塔第1课时【教学课件】2026-2027学年部编版五年级语文上册
- 《金属非金属矿山第7部分:金属非金属地下矿山》KA 57.7-2026
- 蜂窝铝板吊顶工程施工方案及工艺方法
- 2026年心理委员考核测试题及答案
- 2025湖北省投资引导基金有限公司招聘拟录用人员笔试历年难易错考点试卷带答案解析
- 税收风险案例分析
评论
0/150
提交评论