在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 相关文章推荐
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
jQuery的DOM操作之删除节点示例
Jan 03 Javascript
Javascript封装DOMContentLoaded事件实例
Jun 12 Javascript
JavaScript中string转换成number介绍
Dec 31 Javascript
JS数组合并push与concat区别分析
Dec 17 Javascript
vue router demo详解
Oct 13 Javascript
requireJS模块化实现返回顶部功能的方法详解
Oct 16 Javascript
vue源码入口文件分析(推荐)
Jan 30 Javascript
使用jquery的cookie实现登录页记住用户名和密码的方法
Mar 13 jQuery
怎么使用javascript深度拷贝一个数组
Jun 06 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 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+java实现自动新闻滚动窗口
2006/10/09 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
laravel 输出最后执行sql 附:whereIn的使用方法
2019/10/10 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
JSChart轻量级图形报表工具(内置函数中文参考)
2010/10/11 Javascript
jQuery获取地址栏参数插件(模仿C#)
2010/10/26 Javascript
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JavaScript实现点击文字切换登录窗口的方法
2015/05/11 Javascript
jquery点击展示与隐藏更多内容
2016/12/03 Javascript
Angularjs 依赖压缩及自定义过滤器写法
2017/02/04 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
详解Angular 4.x Injector
2017/05/04 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
angular2中Http请求原理与用法详解
2018/01/11 Javascript
JS中min函数实例讲解
2019/02/18 Javascript
vue history 模式打包部署在域名的二级目录的配置指南
2019/07/02 Javascript
Vue自定义render统一项目组弹框功能
2020/06/07 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
python 垃圾收集机制的实例详解
2017/08/20 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
纯CSS3实现滚动的齿轮动画效果
2014/06/05 HTML / CSS
欧舒丹英国官网:购买欧舒丹护手霜等明星产品
2017/01/17 全球购物
美国专注于健康商品的网站:eVitamins
2017/01/23 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
Zooplus罗马尼亚:宠物食品和配件
2019/11/02 全球购物
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
泰国排名第一的家居用品中心:HomePro
2020/11/18 全球购物
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
赢在执行观后感
2015/06/16 职场文书
2016年教师寒假学习心得体会
2015/10/09 职场文书
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android