工作当中时常会遇到对文件的一些处理,比如下载表格、下载图片、下载文件等,这里说一种下载压缩包的方法。
其实也很简单,需要用到一款插件jszip,官方用法都是有的:https://www.npmjs.com/package/jszip
可以直接引入脚本:
<script src='./jszip.js'></script>
也可以在vue项目中直接安装,运行:
npm i jszip -S
然后在需要的页面引入即可:
import jsZip from 'jszip';
需要注意的是,jszip依赖于文件下载插件file-saver,所以还需要安装一下:
npm i file-saver -S
引入:
import { saveAs } from 'file-saver';
使用:
saveAsZip(base64) {
let zip = new jsZip();
var myFile = zip.folder('myFile'); // 新建一个myFile文件夹
myFile.file('办理毕业生户籍迁入操作指引.doc', base64, {
base64: true
}); // 文件名称
zip.generateAsync({ type: 'blob' }).then(function(content) {
// see FileSaver.js
saveAs(content, '办理毕业生户籍迁入操作指引.doc');
});
}
下载的压缩包:
解压后:
如果不想要文件夹名称可以把文件名去掉:
var myFile = zip.folder();
解压后: