当前位置: 首页 > 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 头  

http://www.lryc.cn/news/414283.html

相关文章:

  • STM32L051K8U6-开发资料
  • Markdown语法学习
  • [最短路Floyd],启动!!!
  • 7月29(信息差)
  • ubuntu中禁止使用鼠标拖动来移动文件
  • 【密码学】椭圆曲线密码体制(ECC)
  • 第25集《大佛顶首楞严经》
  • python 读写文件之 open 和 with open() 详细解析
  • 操作系统:内存----知识点
  • pfx如何配置到nginx中
  • 详细测评下搬瓦工香港CN2 GIA VPS
  • Java中的五种线程池类型
  • FFmpeg Windows安装教程
  • ‘#‘ is not followed by a macro parameter 关于宏定义的错误
  • 内网穿透--meterpreter端口转发实验
  • Python 数据类:减少样板并提高可读性
  • 家庭教育系列—北京海淀区”鸡娃“攻略
  • DLMS/COSEM中的信息安全:DLMS/COSEM安全概念(下)
  • 基于 systemc-2.3.1的virtual device 接入 qemu-arm
  • (七)自动化测试
  • 【信创】virtualbox内虚拟机连接U盘 _ 统信 _ 麒麟 _ 中科方德
  • 【2024】Datawhale AI夏令营 Task4笔记——vllm加速方式修改及llm推理参数调整上分
  • 腾讯OCR签名算法
  • CTFHUB-SSRF-DNS重绑定 Bypass
  • 【oracle】数据库基本使用
  • Action部署在线上写文章
  • CC链 (Commons Collections)
  • 左手坐标系、右手坐标系、坐标轴方向
  • 芋道源码yudao-cloud 二开日记(商品sku数据归类为规格属性)
  • 自媒体新闻资讯类网站模板/EyouCMS自媒体资讯类网站模板