在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 相关文章推荐
Z-Blog中用到的js代码
Mar 15 Javascript
JQuery下关于$.Ready()的分析
Dec 13 Javascript
用jquery与css打造个性化的单选框和复选框
Oct 20 Javascript
js保存当前路径(cookies记录)
Dec 14 Javascript
javascript实现可全选、反选及删除表格的方法
May 15 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
Apr 13 Javascript
AngularJS基础 ng-model 指令详解及示例代码
Aug 02 Javascript
JavaScript重定向URL参数的两种方法小结
Oct 19 Javascript
JS基于递归实现倒计时效果的方法
Nov 26 Javascript
解决webpack -p压缩打包react报语法错误的方法
Jul 03 Javascript
使用Node.js实现RESTful API的示例
Aug 01 Javascript
小程序封装wx.request请求并创建接口管理文件的实现
Apr 29 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 身份证号验证函数
2009/05/07 PHP
PHP提示Warning:phpinfo() has been disabled函数禁用的解决方法
2014/12/17 PHP
PHP提高编程效率的20个要点
2015/09/23 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP7 错误处理机制修改
2021/03/09 PHP
点图片上一页下一页翻页效果
2008/07/09 Javascript
Jquery中显示隐藏的实现代码分析
2011/07/26 Javascript
javascript中的作用域和上下文使用简要概述
2013/12/05 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
如何用JavaScript实现动态修改CSS样式表
2016/05/20 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
概述一个页面从输入URL到页面加载完的过程
2016/12/16 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
详解数组Array.sort()排序的方法
2020/05/09 Javascript
Node.js 实现远程桌面监控的方法步骤
2019/07/02 Javascript
vant IndexBar实现的城市列表的示例代码
2019/11/20 Javascript
JavaScript接口实现方法实例分析
2020/05/16 Javascript
Vue实现开关按钮拖拽效果
2020/09/22 Javascript
Python使用百度API上传文件到百度网盘代码分享
2014/11/08 Python
使用rpclib进行Python网络编程时的注释问题
2015/05/06 Python
Python进阶-函数默认参数(详解)
2017/05/18 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
python代码 FTP备份交换机配置脚本实例解析
2019/08/01 Python
Python文本处理简单易懂方法解析
2019/12/19 Python
python except异常处理之后不退出,解决异常继续执行的实现
2020/04/25 Python
scrapy-redis分布式爬虫的搭建过程(理论篇)
2020/09/29 Python
农村改厕实施方案
2014/03/22 职场文书
创业女性典型材料
2014/05/02 职场文书
2015元旦标语横幅
2014/12/09 职场文书
2015元旦文艺汇演主持稿(开场白+结束语)
2014/12/14 职场文书
行政经理岗位职责
2015/04/15 职场文书
电影红河谷观后感
2015/06/11 职场文书
Golang标准库syscall详解(什么是系统调用)
2021/05/25 Golang
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
vue实现可以快进后退的跑马灯组件
2022/04/08 Vue.js