1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 前端js使用jszip实现文件压缩功能

前端js使用jszip实现文件压缩功能

时间:2023-07-07 23:07:04

相关推荐

前端js使用jszip实现文件压缩功能

一、jszip下载

1、github下载地址:/Stuk/jszip

2、下载成功后解压,js插件在dist目录里

二、引入jszip插件

<script type="text/javascript" src="./jszip.min.js"></script>

三、使用jszip对文件进行压缩和下载

<script type="text/javascript">//创建JSZip实例对象var zip = new JSZip();//1.创建hello.txt文件,文件内容为Hello Worldzip.file("hello.txt", "Hello World\n");//2.创建一个demo文件夹,文件里里创建一个hello.txt文件,文件内容为Hello Worldzip.folder("demo").file("hello.txt", "Hello World\n");// 生成zip文件并下载zip.generateAsync({type: 'blob',// 压缩类型compression: "DEFLATE", // STORE:默认不压缩 DEFLATE:需要压缩compressionOptions: {level: 9 // 压缩等级1~9 1压缩速度最快,9最优压缩方式}}).then(function(content) {// 下载的文件名var filename = 'hello.zip';// 创建隐藏的可下载链接var eleLink = document.createElement('a');eleLink.download = filename;eleLink.style.display = 'none';// 下载内容转变成blob地址eleLink.href = URL.createObjectURL(content);// 触发点击document.body.appendChild(eleLink);eleLink.click();// 然后移除document.body.removeChild(eleLink);});</script>

四、解压zip文件

思路:后端将zip文件以二进制形式传输到前端,前端再解压还原,解压代码如下:

let zip = new JSZip();var content="后端传过来的二进制数据";zip.loadAsync(content).then(function(zip) {new_zip.file("hello.txt").async("string"); });

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。