​前言

在前端的项目开发中 ,上传文件是非常常见的需求  那么 如果我们上传的是压缩包 并要对压缩包的内容进行解压、读取并判断  我们该怎么做呢?这里简单介绍一下  利用jszip解压 并对压缩包里的内容进行分析。


一、JSZip是什么?

JSZip就是一个javascript库  用来操作.zip文件的工具  可以用来压缩  解压 。

具体使用可参考官方文档:JSZip

二、使用步骤

1.引入库

// jszip的引入 有很多方式  可以使用npm install  下载   也可使用require 引入
// 这里使用原生的引入方式
<script src="../js/jszip/jszip.js"></script>
<script src="../js/jszip/jszip-utils.js"></script>

2.简单使用

代码如下(示例):这里 我上传的是一个zip压缩包 且里面有图片  利用jszip对压缩包解压 并获取图片的大小  分辨率等

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><title>Title</title>
</head><body id="body"><input type="file" accept=".zip" id="fileImport">  // 简单的一个上传文件   限制上传文件为zip压缩包<div id="demo"></div>// 引入jszip库<script src="../js/jquery-1.8.3.min.js"></script><script src="../js/jszip/jszip.js"></script><script></script>
</body></html>

在js中的使用:

$("#fileImport").on('change',function(event) {var files = event.target.files;for (var i = 0; i< files.length;i++) {handleFile(files[i]);}
});
function handleFile(fileObj) {//  进行解压   获取压缩包里的内容JSZip.loadAsync(fileObj).then(function(zip) {console.log(zip);// zip.files  既压缩包中  包含的有什么文件zip.forEach(function(relativePath,zipEntry) {  // zipEntry  就是压缩文件中的文件实例console.log(zipEntry);zipEntry.async("base64").then(function(res) {console.log(res);// res  就是将图片转换成base64imgLoad('data:image/png;base64,' + res,function(width,height) {console.log(width,height);  // 获取图片的宽 * 高})})})})
}function imgLoad (url, callback) {var img = new Image();img.src = url;if (img.complete) {callback(img.width, img.height);} else {img.onload = function () {callback(img.width, img.height);img.onload = null;};};};

总结

以上就是利用jszip来对zip压缩包进行解压  并对压缩包中的图片进行一些数据获取的使用心得~~~大家如果项目也使用了该工具并对此有些疑问  欢迎大家在评论中提出~我们可以一些探讨O(∩_∩)O

JSZip的简单使用相关推荐

  1. vue前台导出zip文件_在Vue.js中使用JSZip实现在前端解压文件的方法_心病_前端开发者...

    1.在 action="//jsonplaceholder.typicode.com/posts/" :before-upload="handleBefore" ...

  2. react——利用jszip实现文件批量下载并打包成zip文件

    本文章主要记录利用jszip实现文件批量下载图片,文档.mp3,视频(MP4)等文件,一般而言前端实现下载功能一般都是通过a链,这在下载单个文件的场景很实用,但如果是批量下载很多个文件,同样也可以用a ...

  3. vue前端下载——jszip压缩和解压,结合file-saver导出图片zip,每20个图片分一个目录

    使用jszip和file-saver导出图片,并打包为zip: import JSZip from "jszip"; import FileSaver from "fil ...

  4. vue 使用 jszip file-saver 对附件word pdf png 等进行zip打包下载

    vue jszip file-saver 实现一个勾选,批量前端下载文件,多个的话进行下载zip文件下载功能,如下图所示 1. 安装依赖 npm install jszip npm install f ...

  5. JsZip+FileSaver实现打包文件并下载

    这里使用jszip进行文件打包,可以创建文件夹,创建文件.然后使用FileSaver进行下载,这里使用FileSaver下载是因为这个工具可以下载大文件,而且效率非常高.一下代码示例,简单模块化了一下 ...

  6. JSZip解压PDF文件并批量下载

    JSzip解压PDF文件并批量下载 因需要解压PDF文件并且实现批量下载,但网上找到的基本都是图片的解压和下载,所以参考图片的解压修改了一下. 用到了jszip,jszip-utils,file-sa ...

  7. 前端vue使用jszip压缩文件

    一.引入element的上传文件组件 <el-form-item label="文件"><el-uploadclass="upload-demo&quo ...

  8. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  9. Linux下tomcat的安装与卸载以及配置(超简单)

    无敌简单的几步 1.安装 //首先你需要下载好tomcat包 sudo tar -xvzf apache-tomcat-7.0.85.tar.gz(这里是包名) -C 你要放的位置 2.卸载 rm - ...

  10. Docker安装Apache与运行简单的web服务——httpd helloworld

    Docker运行简单的web服务--httpd helloworld目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker运行简单的web ...

最新文章

  1. [VC++入门]指针一
  2. 如何解决The underlying provider failed on Open问题
  3. openssl生成自签证书
  4. C语言 遍历字符串数组
  5. linux主从库配置文件,linux 数据库主从同步配置
  6. 百度 android geocoding,百度地图经纬度批量查找功能XGeocoding使用手册(示例代码)
  7. 苦等8个月!华为最令人期待的手机终于要来了:最快月底开卖
  8. 使用IntelliJ IDEA创建SpringMVC项目
  9. mysql压测宕机_MySQL压测时Linux中断异常飚高,原来是因为...
  10. php curl get 微信文章,微信公众号开发:获取 access_token 的两种方式 cURL 函数 和 file_get_contents 函数...
  11. vs2010英文版变中文版
  12. Xpath根据text内容快速定位
  13. Zookeeper+ActiveMQ集群搭建
  14. UNIX下修改时间简单一例
  15. java基础练习题(for,switch,while,基本数据类型和引用数据类型的联系)
  16. [bzoj4833][数论][min-max容斥]最小公倍佩尔数
  17. 解决引用openssl静态库libcrypto.a和libssl.a出现undefined reference to错误的问题
  18. 开发小程序用php框架,微信小程序框架目前比较火的是?
  19. CoolWeather APP项目总结
  20. 什么是 whitened

热门文章

  1. Linux安装及破解密码
  2. Spring Data JPA实战视频教程
  3. 西门子PLC面向对象编程
  4. 苹果cms怎么添加百度统计代码
  5. efi分区咋移动到c盘里_efi系统分区是什么?重装系统EFI系统分区图文教程
  6. 四分之一波长传输线应用举例
  7. 上位机plc编程入门_零基础自学plc编程怎么入门?
  8. 安装protoc教程
  9. OpenPose 基本理念
  10. Centos 8 阿里yum源配置