在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 23 Javascript
javascript基于DOM实现权限选择实例分析
May 14 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
Apr 27 Javascript
JavaScript条件判断_动力节点Java学院整理
Jun 26 Javascript
详解vue渲染函数render的使用
Dec 12 Javascript
spirngmvc js传递复杂json参数到controller的实例
Mar 29 Javascript
详解使用Next.js构建服务端渲染应用
Jul 10 Javascript
webpack4 处理SCSS的方法示例
Sep 03 Javascript
Vue中使用vux配置代码详解
Sep 16 Javascript
解决vue无法侦听数组及对象属性的变化问题
Jul 17 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 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实现基于PDO的预处理示例
2017/03/28 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
laravel框架添加数据,显示数据,返回成功值的方法
2019/10/11 PHP
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
jquery获取tr中控件值并操作tr实现思路
2013/03/27 Javascript
js中iframe调用父页面的方法
2014/10/30 Javascript
js实现键盘Enter键提交表单的方法
2015/05/27 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
JS对HTML表格进行增删改操作
2016/08/22 Javascript
基于jQuery实现中英文切换导航条效果
2016/09/18 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
微信页面弹出键盘后iframe内容变空白的解决方案
2017/09/20 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
详解vue页面首次加载缓慢原因及解决方案
2019/11/06 Javascript
Python中数字以及算数运算符的相关使用
2015/10/12 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
python如何对实例属性进行类型检查
2018/03/20 Python
Python标准库shutil用法实例详解
2018/08/13 Python
Python补齐字符串长度的实例
2018/11/15 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
Python容器使用的5个技巧和2个误区总结
2019/09/26 Python
Python 可变类型和不可变类型及引用过程解析
2019/09/27 Python
pytorch模型预测结果与ndarray互转方式
2020/01/15 Python
Python特殊属性property原理及使用方法解析
2020/10/09 Python
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
《北京的春节》教学反思
2014/04/07 职场文书
六查六看六改心得体会
2014/10/14 职场文书
小学语文课《掌声》教学反思
2016/03/03 职场文书
nginx location优先级的深入讲解
2021/03/31 Servers
golang正则之命名分组方式
2021/04/25 Golang
ajax请求前端跨域问题原因及解决方案
2021/10/16 Javascript
CSS实现九宫格布局(自适应)的示例代码
2022/02/12 HTML / CSS