最近在用jszip来压缩script脚本以及相关的配置文件,所以详细了解了下它 ,顺便翻译了下自己需要的文章(请注意,因为只是自己记录看,所以翻译很随便,有用软件翻译并且进行相应的修改了,不喜欢的可以不看)

http://stuk.github.io/jszip/

JSZip是一个用于创建,阅读和编辑.zip文件的JavaScript库,具有友好而简单的API。

下面简单地翻译下这里的文章  http://stuk.github.io/jszip/documentation/examples.html

如何使用JSZip(How to use JSZip)

JSZip的一个实例代表一组文件。您可以添加,删除,修改它们。您还可以导入现有的zip文件或生成一个。

获取对象

在浏览器中

对于浏览器,有两个有趣的文件 : dist/jszip.js anddist/jszip.min.js (实际中用一个,min一般是正式发布使用)。

如果您使用node AMD加载程序(例如RequireJS),JSZip将注册自己:您只需将js文件放在正确的位置,或者配置加载程序(请参阅此处的RequireJS)。

在nodejs中

在nodejs中,您可以使用require

var JSZip = require("jszip");

基本操作

第一步是创建一个JSZip的实例:

var zip = new JSZip();

在这个实例上,我们可以使用.file(name,content)和.folder(name)来添加(更新)文件和文件夹。他们返回当前的JSZip实例,以便您可以链接调用。

// create a file
zip.file("hello.txt", "Hello[p my)6cxsw2q");
// oops, cat on keyboard. Fixing !
zip.file("hello.txt", "Hello World\n");
// create a file and a folder
zip.file("nested/hello.txt", "Hello World\n");
// same as
zip.folder("nested").file("hello.txt", "Hello World\n");

使用.folder(name),返回的对象具有不同的根:如果在此对象上添加文件,则将它们放在创建的子文件夹中。这只是一个视图,添加的文件也将在“根”对象中。

var photoZip = zip.folder("photos");
// this call will create photos/README
photoZip.file("README", "a folder with photos");

您可以使用.file(name)及其its getter访问文件内容:

zip.file("hello.txt").async("string").then(function (data) {// data is "Hello World\n"
});if (JSZip.support.uint8array) {zip.file("hello.txt").async("uint8array").then(function (data) {// data is Uint8Array { 0=72, 1=101, 2=108, more...}});
}

您也可以用.remove(name)删除文件或文件夹:

zip.remove("photos/README");
zip.remove("photos");
// same as
zip.remove("photos"); //通过删除文件夹,您也删除其内容。

生成一个zip文件

使用.generateAsync(options)或.generateNodeStream(options)可以生成一个zip文件(不是一个真实的文件,而是在内存中的表示)。查看此页面了解如何写/给文件给用户的更多信息。

var promise = null;
if (JSZip.support.uint8array) {promise = zip.generateAsync({type : "uint8array"});
} else {promise = zip.generateAsync({type : "string"});
}var promise = null;
if (JSZip.support.uint8array) {promise = zip.generateAsync({type : "uint8array"});
} else {promise = zip.generateAsync({type : "string"});
}

读zip文件

使用.loadAsync(data)可以加载zip文件。检查此页面以查看如何正确执行(这似乎更棘手)。

var new_zip = new JSZip();
// more files !
new_zip.loadAsync(content)
.then(function(zip) {// 你现在已经有加载的zip中包含的每个文件new_zip.file("hello.txt").async("string"); // a promise of "Hello World\n"
});

如何使用JSZip(How to use JSZip)相关推荐

  1. (压缩包在本地目录或由链接请求)使用jszip解压文件或compressing解压文件到指定目录,写个node脚本

    使用jszip解压文件与compressing解压zip文件到指定目录 一.介绍jszip和compressing模块 jszip和compressing模块都是可以压缩和解压缩zip文件,都可以通过 ...

  2. react中使用jszip获取压缩包里文件的方法、Blob与Flie之间的转换

    react中jszip获取压缩包里的文件方法: // react里通过npm install jszip安装 import JSZip from 'jszip'const zip = new JSZi ...

  3. JS创建ZIP文件,JSZip的使用

    Hi I'm Shendi 最近编写压缩工具,需要使用js创建zip文件,使用 JSZip 插件 官网: https://stuk.github.io/jszip/ Github: https://g ...

  4. 使用JSZip与FileSaver批量下载文件

    接转换数据 代码:github地址 1.FileSaver.js :文件下载 使用:先引入js var selectedFile = document.getElementById("fil ...

  5. Cocos Creator JSZip压缩

    版本:2.4.2 参考: Egret 压缩插件 cocos论坛:用jszip解压zip文件 GitHub:JsZip cocos论坛:jszip入坑教程-新手指南 Demo下载地址:zipDemo j ...

  6. 前端vue使用jszip压缩文件

    一.引入element的上传文件组件 <el-form-item label="文件"><el-uploadclass="upload-demo&quo ...

  7. cocoscreator layabox 使用jszip.js

    jszip地址:https://www.npmjs.com/package/jszip 用到的资源文件 安装 npm install jszip -g 或者 cnpm install jszip -g ...

  8. jszip压缩服务器文件,使用JSZip压缩驻留在服务器上的PDF

    对不起,在这篇文章中缺少链接:这是我在stackoverflow上的第一篇文章,正如错误消息所说,"[我]需要至少10个声望才能发布2个以上的链接." 下载PDF(或任何二进制文件 ...

  9. Egret之JSZip高级应用:压缩JS

    本片讲解Egret使用JSZip解析加压的js代码,然后将其还原成可执行的js代码. 一 , 先将egret库打包 : ①:在网站根目录建一个egret文件夹,在其中放入类库 ②:将egret文件夹打 ...

  10. vue前台导出zip文件_在Vue.js中使用JSZip实现在前端解压文件的方法_心病_前端开发者...

    1.在 action="//jsonplaceholder.typicode.com/posts/" :before-upload="handleBefore" ...

最新文章

  1. mysql piress_由MySql漏洞导致电脑被入侵(特征为新增加名为piress的帐户)所想到的...
  2. 列表表格以及媒体元素
  3. CSS中实现水平/垂直居中
  4. java平移变换_java移位运算符:(左移)、(带符号右移)和(无符号右移)。...
  5. java导出excel 客户端_Java poi导出Excel下载到客户端
  6. (06)System Verilog 数组类型示例
  7. PHP中的Array类型其实是Hashtable
  8. 5.Chrome开发者工具不完全指南:(三、性能篇)
  9. ATX电源接口定义及颜色定义 (转载)
  10. ENSP下载还有其他资料地址
  11. 轻音乐-Bandari(班得瑞)
  12. 跟海外大牌正面PK,中国品牌如何出圈?
  13. 萨尔大学计算机受限,萨尔大学的申请条件
  14. Oracle错误——归档日志已满问题
  15. 对着网页进行右键操作------审查元素(快速查看标签代码)
  16. 【QUIC】什么是quic
  17. 2022-2028全球转定子均质机行业调研及趋势分析报告
  18. mysql中BY是什么意思,order是什么意思-sql中的orderby是什么意思它是在什 – 手机爱问...
  19. 英语“死”的委婉说法
  20. c语言球球半径,C/C++编程笔记:C语言开发球球大作战(源码分享),你想试试吗?...

热门文章

  1. Android开发好用的依赖库
  2. matlab求arma模型残差,求教关于ARMA模型的残差检验
  3. 利用计算机制作图表,利用Excel进行数据分组和制作统计图表.doc
  4. [BZOJ 5339] 教科书般的亵渎
  5. 服务器装2t硬盘分区,2T移动硬盘分区办法
  6. 图片去水印工具:Inpaint 7.2中文专业破解版下载及使用方法
  7. 南京绿溢大厦远程预付费系统项目的设计与应用-安科瑞耿敏花
  8. 用C 程序理解汉字的机内码表示
  9. plt是什么格式文件
  10. 阿里巴巴: 章文嵩评价左耳朵耗子