JSZip 的简单介绍

article/2025/10/4 8:36:27

1、前言

     前端处理一些批量文件或者图片时候,通过使用异步上传,减少表单一次性提交的的数据量。但是图片或者文件有删除的时候,服务器上真实的图片不容易删除。找了一些资料发些了JSZip这个技术,可以将文件或者图片打包成一个Zip文件。这就大大减少了数据的传输量。简单记录一下JSZip的用法

2、JSZip简介

这是一个JavaScript类库,用来操作.zip文件的工具。使用主要引入JSZip.js即可。

3、直接上Demo

<!DOCTYPE html>
<html>
<head lang="en"><meta charset="UTF-8"><title>测试JSZIP</title>
</head>
<body><input type="file" id="file"/><img src="" id="image">
</body>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="js/jszip.js"></script>
<script type="text/javascript" src="js/cropper.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>
<script type="text/javascript">$(function() {$("#file").change(function () {var file = this.files[0];var reader = new FileReader();reader.readAsDataURL(file);var base64 = "";reader.onload = function () {var imgData = this.result;$("#image").attr("src", imgData);var zip = new JSZip();// 向zip文件中添加图片,可以添加多个文件或者图片,此处以图片为例// base64图片需要去掉base64图片标识zip.file("car.jpg", imgData.substring(imgData.indexOf(",") + 1), {base64: true});zip.generateAsync({type: "blob",  // 压缩类型compression: "DEFLATE",      // STORE:默认不压缩 DEFLATE:需要压缩compressionOptions: {level: 9  // 压缩等级1~9    1压缩速度最快,9最优压缩方式// [使用一张图片测试之后1和9压缩的力度不大,相差100字节左右]}}).then(function (content) {// 压缩的结果为blob类型(二进制流),可用作文件上传console.info(content);// 直接在浏览器打成car.zip包并下载,saveAs依赖的js是FileSaver.jssaveAs(content, "car.zip");});}});});
</script>
</html>

这里只是简单将图片压缩成zip包,然后以blob二进制流的方式展示了一下,详情可以去官网了解

4、详细记录generateAsync的一些参数

图片压缩最后是为了上传文件,使用generateAsync压缩后可以直接上传。简单的了解一下jszip中的相关参数,如图:

多文件打入Zip文件是,有些文件不需要重复上传或者需要做特别的说明是,生成文件的时候也可以使用“comment”属性,java后台通过解压Zip,可以直接获取"comment"属性,如: zipEntry.getComment()。

// js 可以添加文件的说明
zip.file("a.jpg", "content", {comment: "a.jpg is not a picture"
});// java后台可以直接获取
Enumeration<ZipEntry> entries = zipFile.getEntries();
while(entries.hasMoreElements()) {ZipEntry zipEntry = entries.nextElement();System.out.println(zipEntry.getComment());		
}

5、参考资料

官方网址:https://stuk.github.io/jszip/


http://chatgpt.dhexx.cn/article/gVmXMxgP.shtml

相关文章

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

使用jszip和file-saver导出图片&#xff0c;并打包为zip&#xff1a; import JSZip from "jszip"; import FileSaver from "file-saver"; 一&#xff0c;jszip解压缩 使用loadAsync&#xff0c;zipFile为压缩包&#xff0c;下面的例子表示读取zip中的resul…

Nginx工作原理和优化总结。

NGINX以高性能的负载均衡器&#xff0c;缓存&#xff0c;和web服务器闻名&#xff0c;驱动了全球超过 40% 最繁忙的网站。在大多数场景下&#xff0c;默认的 NGINX 和 Linux 设置可以很好的工作&#xff0c;但要达到最佳性能&#xff0c;有些时候必须做些调整。首先我们先了解其…

Nginx详细原理

1、Nginx高可用版原理 nginx采用主从架构&#xff0c;客户端发送请求给master&#xff0c;然后由master下发任务到worker实现。 2、nginx任务分配机制(worker工作机制) nginx中master和woker进程之间使用的不是一种轮询的方式而是争抢机制&#xff0c;由于worker不支持java语言…

nginx的工作原理及配置

nginx的工作原理及配置 nginx的模块与工作原理 nginx由内核和模块组成。其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是nginx配置中的一个指令&…

服务器 启动多个nginx_Nginx工作原理和优化总结

NGINX以高性能的负载均衡器,缓存,和web服务器闻名,驱动了全球超过 40% 最繁忙的网站。 在大多数场景下,默认的 NGINX 和 Linux 设置可以很好的工作,但要达到最佳性能,有些时候必须做些调整。首先我们先了解其工作原理。 一、Nginx的模块与工作原理 Nginx由内核和模块组成…

Nginx工作原理及基本使用

Nginx工作原理 Nginx默认采用多进程工作方式&#xff0c;Nginx启动后&#xff0c;会运行一个master进程和多个worker进程。其中master充当整个进程组与用户的交互接口&#xff0c;同时对进程进行监护&#xff0c;管理worker进程来实现重启服务、平滑升级、更换日志文件、配置文…

Nginx系列一:Nginx介绍与Nginx工作原理分析

一&#xff1a;Nginx概述 Nginx ("engine x") 是一个高性能的轻量级的 HTTP 和反向代理、负载平衡web服务器。 nginx 的并发能力在同类型的网页服务器中表现较好市场占用率很高&#xff0c;中国大陆使用 nginx网站用户有&#xff1a;百度、京东、新浪、网易、腾讯、…

透彻!Ingress-nginx工作原理和实践,这操作可以吧

本文记录/分享 目前项目的 K8s 部署结构和请求追踪改造方案 这个图算是一个通用的前后端分离的 k8s 部署结构: Nginx Ingress 负责暴露服务(nginx前端静态资源服务)&#xff0c; 根据十二要素应用的原 则&#xff0c;将后端 api 作为 nginx 服务的附加动态资源。 Ingress vs I…

nginx的工作原理与nginx的配置

1、nginx的工作原理 nginx的模块直接被编译进nginx&#xff0c;因此属于静态编译方式。 启动nginx后&#xff0c;nginx的模块被自动加载&#xff0c;与Apache不一样&#xff0c;首先将模块编译为一个so文件&#xff0c;然后在配置文件中指定是否进行加载。 在解析配置文件时&am…

详解Nginx的核心原理

Nginx的核心原理 本节为大家介绍Nginx的核心原理&#xff0c;包含Reactor模型、Nginx的模块化设计、Nginx的请求处理阶段。 虽然本节的知识有一定的理论深度&#xff0c;但是与另一个有名的Java底层通信框架Netty在原理上有很多相似的地方。如果大家了解Netty的原理和Reactor…

nginx工作原理、配置以及web服务器的资源请求过程

nginx工作原理、配置以及web服务器的资源请求过程 1. nginx简介2. nginx的特性与优点2.1 nginx的特性2.2 nginx的优点2.3 nginx工作原理2.4 Nginx的模块从功能上分为如下三类&#xff1a; 3. nginx进程架构4. web服务器请求资源的过程5. nginx的配置6. nginx的安装与配置6.1 ng…

Nginx(1)— Nginx工作原理

Nginx的模块与工作原理 Nginx由内核和模块组成&#xff0c;其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是Nginx配置中的一个指令&#xff0c;用于U…

nginx工作原理与配置

nginx工作原理与配置 文章目录 nginx工作原理与配置nginx的模块与工作原理nginx的模块分类nginx的工作原理 nginx的安装与配置nginx安装nginx配置 nginx的配置文件详解nginx.conf配置详解用于调试、定位问题的配置参数https配置基于用户认证开启状态界面URLURL - 统一资源定位器…

Nginx工作原理和优化、漏洞

1. Nginx的模块与工作原理 Nginx由内核和模块组成&#xff0c;其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是Nginx配置中的一个指令&#xff0c;用…

nginx 工作原理

1. Nginx的模块与工作原理 Nginx由内核和模块组成&#xff0c;其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是Nginx配置中的一个指令&#xff0c;用…

nginx工作原理及配置

模块与工作原理 nginx由内核和模块组成。其中&#xff0c;内核的设计非常微小和简洁&#xff0c;完成的工作也非常简单&#xff0c;仅仅通过查找配置文件将客户端请求映射到一个location block&#xff08;location是nginx配置中的一个指令&#xff0c;用于URL匹配&#xff09…

Nginx工作原理

一、明确Nginx与Tomcat的区别 web上的server都叫web server&#xff0c;但是大家分工也有不同的。 nginx常用做静态内容服务和代理服务器&#xff0c;直面外来请求转发给后面的应用服务&#xff08;tomcat&#xff09;&#xff0c;tomcat更多用来做一个应用容器&#xff0c;让…

nginx工作原理详解

一、Nginx请求处理流程 图解&#xff1a; 进入nginx的大致三种流量&#xff1a;WEB、EMAIL及TCP Nginx中三个状态机&#xff1a; 传输层状态机&#xff1a;处理TCP/UDP四层传输层HTTP状态机&#xff1a;处理应用层MAIL状态机&#xff1a;处理邮件 状态机作用&#xff1a;Ngin…

nginx工作原理:

首先nginx,采用的是多线程&多路io复用模型,使用I/O多路复用技术的nginx,成就了”并发驱动”的服务器. nginx的框架模型: 进程组件角色: master进程: 监视工作进程的状态,当工作进程死掉后重启一个新的,处理信号和通知工作进程. work进程: 处理客户端请求,从主进程处获得…

原来使用 Spring 实现策略模式可以这么简单

策略模式作为一种软件设计模式&#xff0c;指对象有某个行为&#xff0c;但是在不同的场景中&#xff0c;该行为有不同的实现算法&#xff0c;可以替代代码中大量的 if-else。 比如我们生活中的场景&#xff1a;买东西结账可以使用微信支付、支付宝支付或者银行卡支付&#xf…