在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 相关文章推荐
JQuery live函数
Dec 24 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
js实现精美的图片跟随鼠标效果实例
May 16 Javascript
JQuery入门基础小实例(1)
Sep 17 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
JavaScript结合Bootstrap仿微信后台多图文界面管理
Jul 22 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
layui表格数据复选框回显设置方法
Sep 13 Javascript
基于layui内置模块(element常用元素的操作)
Sep 20 Javascript
AngularJs的$http发送POST请求,php无法接收Post的数据问题及解决方案
Aug 13 Javascript
JavaScript用document.write()输出换行的示例代码
Nov 26 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
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
967 个函式
2006/10/09 PHP
PHP仿博客园 个人博客(2) 数据库增添改删
2013/07/05 PHP
thinkphp使用phpmailer发送邮件的方法
2014/11/24 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
EarthLiveSharp中cloudinary的CDN图片缓存自动清理python脚本
2017/04/04 PHP
PhpStorm连接服务器并实现自动上传功能
2020/12/09 PHP
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JS交换变量的方法
2015/01/21 Javascript
Jquery 分页插件之Jquery Pagination
2015/08/25 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JavaScript cookie详解及简单实例应用
2016/12/31 Javascript
基于layer.js实现收货地址弹框选择然后返回相应的地址信息
2017/05/26 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
JavaScript轮播停留效果的实现思路
2018/05/24 Javascript
vue.js 打包时出现空白页和路径错误问题及解决方法
2019/06/26 Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
2020/01/22 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
Vue中keep-alive组件的深入理解
2020/08/23 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
Python处理文本换行符实例代码
2018/02/03 Python
win7 x64系统中安装Scrapy的方法
2018/11/18 Python
完美解决python3.7 pip升级 拒绝访问问题
2019/07/12 Python
Django logging配置及使用详解
2019/07/23 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
python 在右键菜单中加入复制目标文件的有效存放路径(单斜杠或者双反斜杠)
2020/04/08 Python
jupyter lab的目录调整及设置默认浏览器为chrome的方法
2020/04/10 Python
HTML5里autofocus自动聚焦属性使用介绍
2016/06/22 HTML / CSS
《逃家小兔》教学反思
2014/02/23 职场文书
三八妇女节演讲稿
2014/05/27 职场文书
学雷锋标兵事迹材料
2014/08/18 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
申报优秀教师材料
2014/12/16 职场文书
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技