在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 相关文章推荐
JavaScript数组对象赋值用法实例
Aug 04 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
JS正则替换掉小括号及内容的方法
Nov 29 Javascript
动态加载css方法实现和深入解析
Jan 18 Javascript
详解webpack es6 to es5支持配置
May 04 Javascript
JavaScript之map reduce_动力节点Java学院整理
Jun 29 Javascript
JS中LocalStorage与SessionStorage五种循序渐进的使用方法
Jul 12 Javascript
如何快速解决JS或Jquery ajax异步跨域的问题
Jan 08 jQuery
小程序多图列表实现性能优化的方法步骤
May 28 Javascript
Layui之table中的radio在切换分页时无法记住选中状态的解决方法
Sep 02 Javascript
javascript中的相等操作符(==与===区别)
Dec 21 Javascript
微信小程序input抖动问题的修复方法
Mar 03 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函数代码
2010/04/22 PHP
php多线程实现方法及用法实例详解
2015/10/26 PHP
PHP无限极分类函数的实现方法详解
2017/04/15 PHP
thinkphp集成前端脚手架Vue-cli的教程图解
2018/08/30 PHP
JavaScript 笔记二 Array和Date对象方法
2010/05/22 Javascript
JQuery实现表格动态增加行并对新行添加事件
2014/07/30 Javascript
了不起的node.js读书笔记之例程分析
2014/12/22 Javascript
nodejs导出excel的方法
2015/06/30 NodeJs
Bootstrap carousel轮转图的使用实例详解
2016/05/17 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
深入解析Vue 组件命名那些事
2017/07/18 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
详解nuxt sass全局变量(公共scss解决方案)
2018/06/27 Javascript
vue项目中使用vue-layer弹框插件的方法
2020/03/11 Javascript
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python socket网络编程步骤详解(socket套接字使用)
2013/12/06 Python
用Python编程实现语音控制电脑
2014/04/01 Python
python操作xml文件示例
2014/04/07 Python
Python 遍历子文件和所有子文件夹的代码实例
2016/12/21 Python
对Python进行数据分析_关于Package的安装问题
2017/05/22 Python
Linux CentOS Python开发环境搭建教程
2018/11/28 Python
django之自定义软删除Model的方法
2019/08/14 Python
Python使用多进程运行含有任意个参数的函数
2020/05/02 Python
python中count函数知识点浅析
2020/12/17 Python
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
面料业务员岗位职责
2013/12/26 职场文书
自我评价是什么
2014/01/04 职场文书
十佳文明家庭事迹
2014/05/25 职场文书
2015大学生实训报告
2014/11/05 职场文书
安全先进班组材料
2014/12/26 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
学生检讨书怎么写
2015/05/07 职场文书
单位领导婚礼致辞
2015/07/28 职场文书
中学教师教学工作总结
2015/08/13 职场文书
Python深度学习之Pytorch初步使用
2021/05/20 Python