在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 相关文章推荐
javascript检查日期格式的函数[比较全]
Oct 17 Javascript
jquery isEmptyObject判断是否为空对象的函数
Feb 14 Javascript
读jQuery之十一 添加事件核心方法
Jul 31 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
jQuery封装的屏幕居中提示信息代码
Jun 08 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
Jun 30 Javascript
多个上传文件用js验证文件的格式和大小的方法(推荐)
Mar 09 Javascript
JS去掉字符串前后空格或去掉所有空格的用法
Mar 25 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
Oct 20 Javascript
ES6 Set结构的应用实例分析
Jun 26 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
JS 图片压缩原理与实现方法详解
Apr 29 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
为了这两部电子管收音机,买了6套全新电子管和10粒刻度盘灯泡
2021/03/02 无线电
让PHP支持页面回退的两种方法[转]
2007/02/14 PHP
php 正则匹配函数体
2009/08/25 PHP
php面向对象全攻略 (十四) php5接口技术
2009/09/30 PHP
PHP之将POST数据转化为字符串的实现代码
2016/11/03 PHP
PHP用PDO如何封装简单易用的DB类详解
2017/07/30 PHP
学习YUI.Ext第七日-View&amp;JSONView Part Two-一个画室网站的案例
2007/03/10 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
Jquery中LigerUi的弹出编辑框(实现方法)
2013/07/09 Javascript
用js判断输入是否为中文的函数
2014/03/10 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
2014/08/18 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
underscore之Chaining_动力节点Java学院整理
2017/07/10 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
python检测远程服务器tcp端口的方法
2015/03/14 Python
Python随机生成数模块random使用实例
2015/04/13 Python
Python对List中的元素排序的方法
2018/04/01 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
Python中使用__new__实现单例模式并解析
2019/06/25 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
Django框架下静态模板的继承操作示例
2019/11/08 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
五分钟带你搞懂python 迭代器与生成器
2020/08/30 Python
数控专业个人求职信范例
2013/11/29 职场文书
2014年大学生自我评价
2014/01/19 职场文书
机电职业生涯规划书范文
2014/03/08 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
求职信的正确写法
2014/07/10 职场文书
市场总监岗位职责
2015/02/11 职场文书
会议通知范文
2015/04/15 职场文书
体育部部长竞选稿
2015/11/21 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
MySQL表的增删改查(基础)
2021/04/05 MySQL
Vue.js中v-bind指令的用法介绍
2022/03/13 Vue.js