在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 相关文章推荐
新手常遇到的一些jquery问题整理
Aug 16 Javascript
jQuery find和children方法使用
Jan 31 Javascript
javascript回车完美实现tab切换功能
Mar 13 Javascript
jQuery添加和删除输入文本框标签代码
May 20 Javascript
js实现千分符和保留几位小数的简单实例
Aug 01 Javascript
JavaScript常用正则函数用法示例
Jan 23 Javascript
AngularJS1.X学习笔记2-数据绑定详解
Apr 01 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
解决vue+element 键盘回车事件导致页面刷新的问题
Aug 25 Javascript
vue做移动端适配最佳解决方案(亲测有效)
Sep 04 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
vue+node 实现视频在线播放的实例代码
Oct 19 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判断远程图片是否存在的几种方法
2014/05/04 PHP
php使用Cookie实现和用户会话的方法
2015/01/21 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
Laravel修改验证提示信息为中文的示例
2019/10/23 PHP
Safari5中alert的无限循环BUG
2011/04/07 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
实例详解JSON数据格式及json格式数据域字符串相互转换
2016/01/07 Javascript
JavaScript实现图像模糊化的方法实例
2017/01/15 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
原生js+css调节音量滑块
2020/01/15 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
[55:45]LGD vs OG 2019国际邀请赛淘汰赛 胜者组 BO3 第三场 8.24
2019/09/10 DOTA
Python使用random和tertools模块解一些经典概率问题
2015/01/28 Python
pytorch 更改预训练模型网络结构的方法
2019/08/19 Python
python用类实现文章敏感词的过滤方法示例
2019/10/27 Python
jupyternotebook 撤销删除的操作方式
2020/04/17 Python
Python使用matplotlib绘制圆形代码实例
2020/05/27 Python
Django CBV模型源码运行流程详解
2020/08/17 Python
基于Python爬取51cto博客页面信息过程解析
2020/08/25 Python
Superdry瑞典官网:英国日本街头风品牌
2017/05/17 全球购物
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
历史学专业大学生找工作的自我评价
2013/10/16 职场文书
工地资料员岗位职责
2013/12/31 职场文书
《长城》教学反思
2014/02/14 职场文书
婚纱摄影师求职信
2014/03/07 职场文书
意外伤害赔偿协议书范文
2014/09/23 职场文书
夫妻双方自愿离婚协议书怎么写
2014/12/01 职场文书
统计工作个人总结
2015/03/03 职场文书
2015年暑期社会实践方案
2015/07/14 职场文书
详解java如何集成swagger组件
2021/06/21 Java/Android
mysql 直接拷贝data 目录下文件还原数据的实现
2021/07/25 MySQL
redis数据一致性的实现示例
2022/03/18 Redis