在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-ui中自动完成实现方法
Jun 10 Javascript
jQuery-onload让第一次页面加载时图片是淡入方式显示
May 23 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
Apr 23 Javascript
js综合应用实例简单的表格统计
Sep 03 Javascript
JavaScript数组方法总结分析
May 06 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
Dec 07 Javascript
JS 实现随机验证码功能
Feb 15 Javascript
webpack4.0 入门实践教程
Oct 08 Javascript
vue element动态渲染、移除表单并添加验证的实现
Jan 16 Javascript
vue引用外部JS的两种种方法
Jan 28 Javascript
JS实现省市县三级下拉联动
Apr 10 Javascript
element中table高度自适应的实现
Oct 21 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/11/05 PHP
Javascript 布尔型分析
2008/12/22 Javascript
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
2011/03/05 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
jquery隔行换色效果实现方法
2015/01/15 Javascript
比较常见的javascript中定义函数的区别
2015/11/09 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
JS小数转换为整数的方法分析
2017/01/07 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
有关JS中的0,null,undefined,[],{},'''''''',false之间的关系
2017/02/14 Javascript
Angular js 实现添加用户、修改密码、敏感字、下拉菜单的综合操作方法
2017/10/24 Javascript
用ES6的class模仿Vue写一个双向绑定的示例代码
2018/04/20 Javascript
JavaScript实现异步图像上传功能
2018/07/12 Javascript
用 js 写一个 js 解释器过程详解
2019/08/02 Javascript
NodeJs 实现简单WebSocket即时通讯的示例代码
2019/08/05 NodeJs
jQuery+css实现的点击图片放大缩小预览功能示例【图片预览 查看大图】
2020/05/29 jQuery
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
深入解析Python中的线程同步方法
2016/06/14 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
python误差棒图errorbar()函数实例解析
2020/02/11 Python
Matplotlib使用Cursor实现UI定位的示例代码
2020/03/12 Python
使用K.function()调试keras操作
2020/06/17 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
python自动提取文本中的时间(包含中文日期)
2020/08/31 Python
使用canvas绘制贝塞尔曲线
2014/12/17 HTML / CSS
SEPHORA丝芙兰捷克官网:购买香水、化妆品和护肤品
2018/11/26 全球购物
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
教师师德反思材料
2014/02/15 职场文书
出纳担保书范文
2014/04/02 职场文书
初中三好学生自我鉴定
2014/04/07 职场文书
国旗下讲话演讲稿
2014/05/08 职场文书
2014年教研工作总结
2014/12/06 职场文书