JSZip简介
JSZip是一个用于创建、读取和编辑.zip文件的javascript库,有一个可爱而简单的API。JSZip支持Nodejs和浏览器端的安装使用。具体方法如下:
复制代码
1
2
3
4
5npm install jszip npm install file-saver
浏览器端解压zip文件
后端Nodejs将zip文件以二进制形式存储到数据库中。当前端需要该zip文件时,后端将zip文件以二进制形式传输到前端,前端再解压还原。
使用JSZip压缩文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19import JSZip from 'jszip'; import FileSaver from 'file-saver'; var zip = new JSZip(); //创建hello.txt文件,文件内容为Hello World zip.file("hello.txt", "Hello Worldn"); //创建一个nested文件夹,文件里里创建一个hello.txt文件,文件内容为Hello World zip.folder("nested").file("hello.txt", "Hello Worldn"); zip.generateAsync({type:"blob"}).then(function(content) { // 使用file-saver保存下载zip文件 FileSaver.saveAs(content, `压缩包名.zip`); });
上面的type:"blod"可以根据需求自定义类型,如base64,arraybuffer等generateAsync(options[, onUpdate])
通过.remove(name)删除文件或文件夹:
复制代码
1
2zip.remove("photos"); //通过删除文件夹,也删除其内容。
浏览器端解压Zip文件
复制代码
1
2
3
4
5
6
7import JSZip from 'jszip' let new_zip = new JSZip(); new_zip.loadAsync(content).then(function(zip) { new_zip.file("hello.txt").async("string"); });
案例:导出一个zip文件,包含图片文件和.json文件
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28/** * @param dataList ['base64数据','base64数据'] */ function exportJSZipFileSaverEvent (dataList: any) { var zip = new JSZip(); var img = zip.folder("images"); let myNotesName = 'zip名称'; for (let i = 0; i < dataList.length; i++) { //过滤base64格式 let image = dataList[i].replace(/^data:image/(png|jpg|jpeg);base64,/, ""); let imageNames = `${myNotesName}${getTime()}(${i + 1}).png`; img?.file(imageNames, image, {base64: true}); // 导出json let jsonNames = `${myNotesName}${getTime()}(${i + 1}).json`; zip.file(jsonNames, 'json文本数据'); } // 下载 zip.generateAsync({type: "blob"}).then(function (content) { FileSaver.saveAs(content, `${myNotesName}${getTime()}.zip`); }); } function getTime () { let data = new Date(); return data.getFullYear() + "-" + (data.getMonth() + 1) + "-" + data.getDate(); }
JSZip API地址:
JSZip
JSZip: JavaScript zip class
交流
1、QQ群:可添加qq群共同进阶学习: 进军全栈工程师疑难解 群: 856402057
2、公众号:公众号「进军全栈攻城狮」 ,对前端技术保持学习爱好者。我会经常分享自己所学所看的干货,在进阶的路上,共勉!
最后
以上就是糟糕水杯最近收集整理的关于使用JSZip实现压缩文件与图片JSZip简介浏览器端解压zip文件的全部内容,更多相关使用JSZip实现压缩文件与图片JSZip简介浏览器端解压zip文件内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复