在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 相关文章推荐
让插入到 innerHTML 中的 script 跑起来的实现代码
Jul 01 Javascript
学习ExtJS border布局
Oct 08 Javascript
jQuery中的一些常见方法小结(推荐)
Jun 13 Javascript
JS实现重新加载当前页面或者父页面的几种方法
Nov 30 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
js 中rewrap-ajax.js插件实例代码
Oct 20 Javascript
浅谈webpack组织模块的原理
Mar 10 Javascript
解决vue多个路由共用一个页面的问题
Mar 12 Javascript
vue-cli配置环境变量的方法
Jul 09 Javascript
vue-router权限控制(简单方式)
Oct 29 Javascript
解决vue与node模版引擎的渲染标记{{}}(双花括号)冲突问题
Sep 11 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简单防盗链实现方法
2015/07/29 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
Yii2使用swiftmailer发送邮件的方法
2016/05/03 PHP
利用PHP绘图函数实现简单验证码功能的方法
2016/10/18 PHP
Yii框架实现邮箱激活的方法【数字签名】
2016/10/18 PHP
PHP实践教程之过滤、验证、转义与密码详解
2017/07/24 PHP
ThinkPHP框架获取最后一次执行SQL语句及变量调试简单操作示例
2018/06/13 PHP
JavaScript DOM 学习第三章 内容表格
2010/02/19 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
详解nodejs 文本操作模块-fs模块(一)
2016/12/22 NodeJs
jQuery实现表格元素动态创建功能
2017/01/09 Javascript
mac中利用NVM管理不同node版本的方法详解
2017/11/08 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
详解javascript中的Error对象
2019/04/25 Javascript
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
Vue使用路由钩子拦截器beforeEach和afterEach监听路由
2020/11/16 Javascript
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python操作openpyxl导出Excel 设置单元格格式及合并处理代码实例
2019/08/27 Python
python实现代码统计程序
2019/09/19 Python
Python : turtle色彩控制实例详解
2020/01/19 Python
Django设置Postgresql的操作
2020/05/14 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
python破解同事的压缩包密码
2020/10/14 Python
Html5之svg可缩放矢量图形_动力节点Java学院整理
2017/07/17 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
餐饮主管岗位职责
2013/12/10 职场文书
中学生班主任评语
2014/01/30 职场文书
工程力学专业自荐信范文
2014/03/17 职场文书
艾滋病宣传标语
2014/06/25 职场文书
篮球社团活动总结
2014/06/27 职场文书
宣传委员竞选稿
2015/11/19 职场文书
七年级作文之秋游
2019/10/21 职场文书