问题:是否有一种“简单”的方法来增加允许的“打开”文件的最大数量(=====>SPIFFS)
我在 esp8266 HTML 页面上使用#include“ESPAsyncWebServer.h”,总共有大约 100 张图像只有 7 个唯一的 xxxx.gif 名称
(将 Web 索引页面视为数字 VU 表)
似乎有时 SPIFFS 的异步负载在 index.html 加载期间增加到
同时下载超过 6 个不同的图像..... (这是 7 个不同的 gif 图片之一)
ps: if (!MaxOpenFiles is only for tes
ting the error by using a different file
*********************Part
server .on(\"/img/Icon-blink-red.gif\", HTTP_GET,handle_blink_red_gif);
~~~~
void handle_QBoxIcon_red_gif(AsyncWebServerRequest*request) {if (!MaxOpenFiles(\"/Icon-red.gif\")){request->send(SPIFFS, \"/Icon-red.gif\" ,\"image/gif\" );}}
~ ~~~~~
boolean MaxOpenFiles(String CFileName){
//SPIFFS.gc();
//CFileName = \"/QBox_Debug.txt\";
DEBUG_MSG(\"尝试执行: server(on)(\" + CFileName);
File fsFile;
fsFile = SPIFFS.open(\"/QBox_Debug.txt\", FILE_READ);
if (!fsFile) {
DEBUG_MSG( \" file_reading of dummy read / Debug.txt 失败。我们需要忽略实际的文件请求:\" + CFileName);
return true;}
else {
fsFile.close();
return false;
在那一刻,一个文件无法打开我有一种“强烈的感觉”,这是由于最大打开文件的强制限制,与内存堆栈等
无关我知道 SPIFFS 中打开文件的最大数量是硬编码为“5”这部分给出了问题,因为在 index.html server.on(\"/\", HTTP_ANY,handle_OnConnect) 期间打开了太多文件;************** void handle_OnConnect(AsyncWebServerRequest *request) { request->send(SPIFFS, \"/index.html\", String(), false, 处理器); }