在vue.js中使用JSZip实现在前端解压文件的方法


Posted in Javascript onSeptember 05, 2018

1、 在vue文件的html中引入element的上传控件,代码如下:

<div>
 <el-upload
 action="//jsonplaceholder.typicode.com/posts/"
 :before-upload="handleBefore">
 <el-button size="small" type="primary">点击上传</el-button>
 <div class="el-upload__tip" slot="tip">上传一个zip试一下</div>
 </el-upload>
</div>

2、 在项目中引入JSZip工具以便于调用其接口实现文件的解压,具体需要先在vue-cli生成的项目中运行如下指令安装JSZip:

npm i jszip -S or npm install jszip

3、 安装完成后在node_modules目录下会看到jszip文件夹,此时在script中声明require来引入jszip,或者通过import导入:

var JSZip = require("jszip");
or
import JsZip from 'jszip'

4、 在<script>中的methods中添加上传压缩包前的触发事件handleBefore,如下:

handleBefore(file) {
 var new_zip = new JSZip();
new_zip.loadAsync(file)
 .then(function(file) {
 // you now have every files contained in the loaded zip
 new_zip.file("testTXT.txt").async("string") // 此处是压缩包中的testTXT.txt文件,以string形式返回其内容,此时已经可以获取zip中的所有文件了
 .then(function (content) {
 // use content
 alert(content)
 });
 });
 }

5、 最后效果如下:

先单击上传按钮:

在vue.js中使用JSZip实现在前端解压文件的方法

然后弹出选择框,选择压缩包文件:

在vue.js中使用JSZip实现在前端解压文件的方法

单击打开会弹出解析压缩包中testTXT.txt文件里的内容:

在vue.js中使用JSZip实现在前端解压文件的方法

单击确定后会开始上传文件:

在vue.js中使用JSZip实现在前端解压文件的方法

上传完成后如图所示:

在vue.js中使用JSZip实现在前端解压文件的方法

此为element-ui的upload控件完成,只需要简单配置即可,详情地址

JSZip详情请点击

以上这篇在vue.js中使用JSZip实现在前端解压文件的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS中style属性
Oct 11 Javascript
基于jquery的一行代码轻松实现拖动效果
Dec 28 Javascript
javascript编码的几个方法详细介绍
Jan 06 Javascript
Javascript的&amp;&amp;和||的另类用法
Jul 23 Javascript
javascript制作的cookie封装及使用指南
Jan 02 Javascript
JavaScript中有关一个数组中最大值和最小值及它们的下表的输出的解决办法
Jul 01 Javascript
javascript时间差插件分享
Jul 18 Javascript
基于vue的fullpage.js单页滚动插件
Mar 20 Javascript
jquery replace方法去空格
May 08 jQuery
使用async-validator编写Form组件的方法
Jan 10 Javascript
基于Vue实现关键词实时搜索高亮显示关键词
Jul 21 Javascript
Vue管理系统前端之组件拆分封装详解
Aug 23 Javascript
Node.js 使用request模块下载文件的实例
Sep 05 #Javascript
详解Angular6学习笔记之主从组件
Sep 05 #Javascript
webpack4 入门最简单的例子介绍
Sep 05 #Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
Sep 05 #Javascript
JS实现点击拉拽轮播图pc端移动端适配
Sep 05 #Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 #Javascript
解决vue点击控制单个样式的问题
Sep 05 #Javascript
You might like
如何利用php+mysql保存和输出文件
2006/10/09 PHP
转PHP手册及PHP编程标准
2006/12/17 PHP
Symfony2之session与cookie用法小结
2016/03/18 PHP
PHP实现基于mysqli的Model基类完整实例
2016/04/08 PHP
浅析PHP7新功能及语法变化总结
2016/06/17 PHP
php实现数据库的增删改查
2017/02/26 PHP
PHP简单实现解析xml为数组的方法
2018/05/02 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
Laravel统计一段时间间隔的数据方法
2019/10/09 PHP
javascript 兼容各个浏览器的事件
2015/02/04 Javascript
JavaScript基本数据类型及值类型和引用类型
2015/08/25 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
2015/08/31 Javascript
js编写贪吃蛇的小游戏
2020/08/24 Javascript
jquery计算出left和top,让一个div水平垂直居中的简单实例
2016/07/13 Javascript
jquery实现的回旋滚动效果完整实例【附demo源码下载】
2016/09/20 Javascript
ES6中Proxy代理用法实例浅析
2017/04/06 Javascript
js实现分页功能
2017/05/24 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
微信小程序模板(template)使用详解
2018/01/31 Javascript
vue中设置height:100%无效的问题及解决方法
2018/07/27 Javascript
JavaScript canvas实现跟随鼠标移动小球
2021/02/09 Javascript
[45:16]完美世界DOTA2联赛循环赛 IO vs FTD BO2第二场 11.05
2020/11/06 DOTA
python中常用检测字符串相关函数汇总
2015/04/15 Python
python+opencv像素的加减和加权操作的实现
2019/07/14 Python
在keras中获取某一层上的feature map实例
2020/01/24 Python
Python 2种方法求某个范围内的所有素数(质数)
2020/01/31 Python
解决pycharm中导入自己写的.py函数出错问题
2020/02/12 Python
解决Python图形界面中设置尺寸的问题
2020/03/05 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
如何基于Python实现word文档重新排版
2020/09/29 Python
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
关于礼仪的演讲稿
2014/01/04 职场文书
小学后勤管理制度
2014/01/14 职场文书
洗车工岗位职责
2014/03/15 职场文书
员工手册编写范本
2015/05/14 职场文书
女儿满月酒致辞
2015/07/29 职场文书