在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代码
Aug 09 Javascript
javascript实现的固定位置悬浮窗口实例
Apr 30 Javascript
15位和18位身份证JS校验的简单实例
Jul 18 Javascript
JS简单设置下拉选择框默认值的方法
Aug 20 Javascript
微信JSSDK调用微信扫一扫功能的方法
Jul 25 Javascript
react-native封装插件swiper的使用方法
Mar 20 Javascript
Angular使用过滤器uppercase/lowercase实现字母大小写转换功能示例
Mar 27 Javascript
vue 父组件调用子组件方法及事件
Mar 29 Javascript
利用原生JavaScript实现造日历轮子实例代码
May 08 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
Vue $emit()不能触发父组件方法的原因及解决
Jul 28 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
Oct 28 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
cache_lite试用
2007/02/14 PHP
Discuz 6.0+ 批量注册用户名
2009/09/13 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
2014/05/04 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
javascript 随机展示头像实现代码
2011/12/06 Javascript
细说javascript函数从函数的构成开始
2013/08/29 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
jQuery图片渐变特效的简单实现
2016/06/25 Javascript
基于JavaScript实现Tab选项卡切换效果
2016/11/24 Javascript
Javascript实现基本运算器
2017/07/15 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
Angular脚手架开发的实现步骤
2019/04/09 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
解决layui的input独占一行的问题
2019/09/10 Javascript
小程序如何写动态标签的实现方法
2020/02/05 Javascript
jQuery实现可以扩展的日历
2020/12/01 jQuery
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
浅析python中的分片与截断序列
2016/08/09 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
汇智创新科技发展有限公司
2015/12/06 面试题
办公室文书岗位职责
2013/12/16 职场文书
大学军训通讯稿
2014/01/13 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
试用期员工考核制度
2014/01/22 职场文书
会计专业毕业自荐书范文
2014/02/08 职场文书
火车来了教学反思
2014/02/11 职场文书
会计电算化专业自荐信
2014/03/15 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
安全生产工作汇报
2014/10/28 职场文书
学术会议通知范文
2015/04/15 职场文书
《生物入侵者》教学反思
2016/02/16 职场文书