在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代码
Apr 24 Javascript
jquery select 设置默认选中的示例代码
Feb 07 Javascript
2014 年最热门的21款JavaScript框架推荐
Dec 25 Javascript
jQuery中prop()方法用法实例
Jan 05 Javascript
jquery中$each()方法的使用指南
Apr 30 Javascript
jQuery横向擦除焦点图特效代码分享
Sep 06 Javascript
表单input项使用label同时引用Bootstrap库导致input点击效果区增大问题
Oct 11 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
js 图片转base64的方式(两种)
Apr 24 Javascript
vue-cli项目根据线上环境分别打出测试包和生产包
May 23 Javascript
Vuejs 实现简易 todoList 功能 与 组件实例代码
Sep 10 Javascript
JS如何使用剪贴板操作Clipboard API
May 17 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
ThinkPHP的URL重写问题
2014/06/22 PHP
Zend Framework教程之连接数据库并执行增删查的方法(附demo源码下载)
2016/03/21 PHP
PHP简单创建压缩图的方法
2016/08/24 PHP
php递归函数怎么用才有效
2018/02/24 PHP
关于__defineGetter__ 和__defineSetter__的说明
2007/05/12 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
javascript椭圆旋转相册实现代码
2012/01/16 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
JS实现重新加载当前页面
2016/11/29 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
python类继承与子类实例初始化用法分析
2015/04/17 Python
Python 中导入csv数据的三种方法
2018/11/01 Python
Python数据集切分实例
2018/12/08 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
ubuntu 安装pyqt5和卸载pyQt5的方法
2020/03/24 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
一文读懂Python 枚举
2020/08/25 Python
python使用matplotlib绘制折线图的示例代码
2020/09/22 Python
基于Modernizr 让网站进行优雅降级的分析
2013/04/21 HTML / CSS
澳洲健康食品网上商店:Aussie Health Products
2018/06/15 全球购物
毕业生简历自我评价范文
2014/04/09 职场文书
师德师风个人反思
2014/04/28 职场文书
态度决定一切演讲稿
2014/05/20 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
小学四年级学生评语
2014/12/26 职场文书
小学生成绩单评语
2014/12/31 职场文书
病危通知书样本
2015/04/17 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
浅析Python实现DFA算法
2021/06/26 Python
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
什么是clearfix (一文搞清楚css清除浮动clearfix)
2023/05/21 HTML / CSS