当前位置: 首页 > news >正文

SPIFFS与LittleFS的对gz文件格式的区别

 SPIFFS 只能安装在Arduino上。LittleFS支持Arduino IDE和VScode的 PlatformIO。

SPIFFS

  1. serveStaticserver.serveStatic("/", SPIFFS, "/") 负责提供 SPIFFS 文件系统中的文件。您可以在 SPIFFS 上放置 .gz 文件,并该方法将自动处理它们。

  2. MIME 类型: 在这个例子中,request->send(SPIFFS, "/example.gz", "application/javascript", true); 将 .gz 文件的 MIME 类型设置为 application/javascript。您可以根据文件的实际类型(例如,如果是 CSS,可以使用 text/css)进行调整。

  3. gzip 内容编码: 参数 true 指定将启用内容编码,这将发送 Content-Encoding: gzip 头。这对于告知浏览器接收到的文件是压缩的至关重要。

  4. 404 异常处理: 修改了 onNotFound 的处理程序,以便返回 404 状态码,而不是 400

LittleFS

  1. 手动处理: LittleFS 是一种更灵活的文件系统,可能没有内置相同的自动处理机制。为了支持 gzip 文件并告知浏览器这些文件经过压缩,您需要手动添加 Content-Encoding 头部。

  2. 兼容性: 由于 LittleFS 更专注于灵活性和性能,可能在处理某些 MIME 类型时不自动添加一些 HTTP 头部,如 Content-Encoding。这要求开发者在响应中手动设置这些头部

 

 上述2点只看文字无法深有体会。先以实例验证。

ESP32代码

 

27_VueJs  vendor中的vue.min.js.gz是vue的文件,为了节约文件体积采用gz压缩上传至ESP32的FLASH。如果用

上传,则浏览器可以从ESP32获取到vue.min.js文件并正确渲染,效果如下图:

 但如果使用Arduino IDE 的

LittleFS上传同样的文件, 浏览器则不能正确渲染。原因是LittleFS需要手动添加 Content-Encoding 头部对gzip支持。

 response->addHeader("Content-Encoding", "gzip"); // 添加 Content-Encoding 头  

相关文章:

SPIFFS与LittleFS的对gz文件格式的区别

SPIFFS 只能安装在Arduino上。LittleFS支持Arduino IDE和VScode的 PlatformIO。 SPIFFS serveStatic: server.serveStatic("/", SPIFFS, "/") 负责提供 SPIFFS 文件系统中的文件。您可以在 SPIFFS 上放置 .gz 文件,并该方法将自动处理它们。 …...

STM32L051K8U6-开发资料

STM32L051测试 (四、Flash和EEPROM的读写)-云社区-华为云 (huaweicloud.com) STM32L051测试 (四、Flash和EEPROM的读写) - 掘金 (juejin.cn) STM32L0 系列 EEPROM 读写,程序卡死?_stm32l0片内eeprom_stm3…...

Markdown语法学习

Markdown学习 一、基础语法讲解 1. 换行 本行末尾双空格然后回车(在Typora的中直接回车也可以) 2. 换段 本段末尾两次回车 3. 加粗 **加粗** __加粗__效果:加粗 4. 斜体 *加粗* _加粗_效果:斜体 5. 斜体加粗 ***加粗**…...

[最短路Floyd],启动!!!

B3647 【模板】Floyd #include<bits/stdc.h> #define ll long long #define fi first #define se second #define pb push_back #define PII pair<int,int > #define IOS ios::sync_with_stdio(false),cin.tie(0),cout.tie(0) using namespace std; const int N …...

7月29(信息差)

&#x1f30d;最强模型 Llama 3.1 如期而至&#xff01;扎克伯格最新访谈&#xff1a;Llama 会成为 AI 界的 Linux &#x1f384;谷歌AlphaProof攻克国际奥赛数学题 https://www.51cto.com/article/793632.html ✨SearchGPT第一波评测来了&#xff01;响应速度超快还没广告&…...

ubuntu中禁止使用鼠标拖动来移动文件

windows和ubuntu中都可以拖动文件到其他路径&#xff0c;然后达到移动文件的目的。 这种方式有好处也有坏处&#xff0c;好处是移动文件方便了&#xff0c;坏处是误操作后会造成故障&#xff0c;尤其是ubuntu中&#xff0c;本身鼠标就特别灵敏并且操作不便&#xff0c;拖动一个…...

【密码学】椭圆曲线密码体制(ECC)

椭圆曲线密码体制&#xff08;Elliptic Curve Cryptography, ECC&#xff09;是一种基于椭圆曲线数学特性的公钥密码系统。在介绍椭圆曲线之前&#xff0c;我们先来了解一下椭圆曲线的基本概念。 一、椭圆曲线是什么&#xff1f; &#xff08;1&#xff09;椭圆曲线的数学定义…...

第25集《大佛顶首楞严经》

丑二、腾疑细释 分二&#xff1a;寅一、阿难腾疑&#xff1b;寅二、如来细释 请大家打开讲义第五十六页&#xff0c;“丑二、腾疑细释”。 本经的修学重点&#xff0c;就是修学首楞严王三昧。它的整个重点&#xff0c;其实就是一个心地法门。我们在行菩萨道的时候慢慢会发觉…...

python 读写文件之 open 和 with open() 详细解析

python 读写文件之 open 和 with open() 详细解析 文章目录 python 读写文件之 open 和 with open() 详细解析1. open() 和 with open() 能打开不同的文件类型吗&#xff1f;2. 文本文件和二进制文件的区别2.1 文本文件 (Text Files)2.2 二进制文件 (Binary Files)区别 3. 读文…...

操作系统:内存----知识点

什么是虚拟内存&#xff1f; 虚拟内存简称虚存&#xff0c;是计算机系统内存管理的一种技术。它是相对于物理内存而言的&#xff0c;可以理解为“假的”内存。它使得应用程序认为它拥有连续可用的内存&#xff08;一个连续完整的地址空间&#xff09;&#xff0c;允许程序员编…...

pfx如何配置到nginx中

有pfx文件的时候如何在nginx上使用 好的&#xff0c;如果您已经确认没有中间证书&#xff08;或中间证书内容为空&#xff09;&#xff0c;那么可以直接使用服务器证书和私钥。以下是简化后的步骤&#xff1a; 从PFX文件中导出私钥&#xff1a; openssl pkcs12 -in xxx.com.pfx…...

详细测评下搬瓦工香港CN2 GIA VPS

搬瓦工香港VPS分移动CMI和电信CN2 GIA两个大类&#xff0c;一个属于骨干网&#xff0c;一个属于轻负载。搬瓦工的香港CN2 GIA根据测试来看实际上是CN2 GIABGP&#xff0c;并非三网纯CN2 GIA。详细测评数据如下&#xff1a; 用FIO再给测试一下硬盘I/O&#xff0c;可以仔细看看数…...

Java中的五种线程池类型

Java中的五种线程池类型 1. CachedThreadPool &#xff08;有缓冲的线程池&#xff09;2. FixedThreadPool &#xff08;固定大小的线程池&#xff09;3. ScheduledThreadPool&#xff08;计划线程池&#xff09;4. SingleThreadExecutor &#xff08;单线程线程池&#xff09…...

FFmpeg Windows安装教程

一. 下载ffmpeg 进入Download FFmpeg网址&#xff0c;点击下载windows版ffmpeg。 下载第一个essentials版本就行。 二. 环境配置 上面源码解压后如下 将bin添加到系统环境变量 验证安装是否成功&#xff0c;输入ffmpeg –version&#xff0c;显示版本即为安装成功。...

‘#‘ is not followed by a macro parameter 关于宏定义的错误

今天在项目代码上想定义一个这样的宏&#xff0c;结果编译错误&#xff0c;这个宏定义类似这样的&#xff1a; #define DELETE_FILE_DPP(key) \ #ifdef PLATFORM_DPP \delete_file(&key); \ #endif 因为有平台之分需要用到编译宏&#xff0c;但不想每个调用的地方都写 #i…...

内网穿透--meterpreter端口转发实验

实验背景 通过公司带有防火墙功能的路由器接入互联网&#xff0c;然后由于私网IP的缘故&#xff0c;公网无法直接访问内部主机&#xff0c;则需要通过已连接会话&#xff0c;代理穿透访问内网主机服务。 实验设备 1.路由器一台 2.内网 Win 7一台 3.公网 Kali 一台 4.网络 …...

Python 数据类:减少样板并提高可读性

一.介绍 在本文中&#xff0c;我们将了解数据类。Python 3.7 引入了数据类&#xff0c;这是一个强大的功能&#xff0c;它简化了创建主要用于存储数据的类的过程。数据类减少了样板代码并提供有用的默认行为&#xff0c;使您的代码更简洁、更高效。 二.为什么要使用数据类&am…...

家庭教育系列—北京海淀区”鸡娃“攻略

文章目录 1. 背景介绍2. 道3. 法3.1 **目标设定(Goal Setting)**3.2 **学习计划(Study Planning)**3.3 **资源利用(Resource Utilization)**3.4 **能力培养(Skill Development)**4. 术4.1 英语4.1.1 启蒙4.1.2 启蒙之后4.3 数学4.3.1 奥数4.3.2 普通数学知识4.4 语文4.…...

DLMS/COSEM中的信息安全:DLMS/COSEM安全概念(下)

3.安全语境 安全语境定义了与加密转换有关的安全属性,并包括以下元素: ——安全组件,确定可用的安全算法。 ——安全策略,在AA内对所有xDLMS APDU确定将应用的那种保护; ——与给定的安全算法相关的安全资料,包含安全密钥、初始化向量、公共密钥证书等。由于安全资料是针…...

基于 systemc-2.3.1的virtual device 接入 qemu-arm

1&#xff0c;下载systemc-2.3.1 下载网址&#xff1a; SystemC Files $ wget https://www.accellera.org/images/downloads/standards/systemc/systemc-2.3.1.tgz 2&#xff0c;编译安装 systemc-2.3.1 tar zxf systemc-2.3.1.tgz cd systemc-2.3.1/ export CXXg mkdir bu…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

【WiFi帧结构】

文章目录 帧结构MAC头部管理帧 帧结构 Wi-Fi的帧分为三部分组成&#xff1a;MAC头部frame bodyFCS&#xff0c;其中MAC是固定格式的&#xff0c;frame body是可变长度。 MAC头部有frame control&#xff0c;duration&#xff0c;address1&#xff0c;address2&#xff0c;addre…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告&#xff08;肿瘤大小、血液指标&#xff09;&#xff0c;你需要做出一个**决定性判断**&#xff1a;恶性还是良性&#xff1f;这种“非黑即白”的抉择&#xff0c;正是**逻辑回归&#xff08;Logistic Regression&#xff09;** 的战场&a…...

day52 ResNet18 CBAM

在深度学习的旅程中&#xff0c;我们不断探索如何提升模型的性能。今天&#xff0c;我将分享我在 ResNet18 模型中插入 CBAM&#xff08;Convolutional Block Attention Module&#xff09;模块&#xff0c;并采用分阶段微调策略的实践过程。通过这个过程&#xff0c;我不仅提升…...

基于当前项目通过npm包形式暴露公共组件

1.package.sjon文件配置 其中xh-flowable就是暴露出去的npm包名 2.创建tpyes文件夹&#xff0c;并新增内容 3.创建package文件夹...

el-switch文字内置

el-switch文字内置 效果 vue <div style"color:#ffffff;font-size:14px;float:left;margin-bottom:5px;margin-right:5px;">自动加载</div> <el-switch v-model"value" active-color"#3E99FB" inactive-color"#DCDFE6"…...

【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分

一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计&#xff0c;提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合&#xff1a;各模块职责清晰&#xff0c;便于独立开发…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...