PS :对不起,如果这是一个双重条目..(原谅
一个老家伙..
)在 esp8266 HTML 页面上使用 #include \"ESPAsyncWebServer.h\",其中大约有 100 张图像,总共只有 7 个唯一的 xxxx.gif 名称(将网络索引页面视为数字 VU 表)似乎有时 SPIFFS 的异步负载会增加index.html load to more than 6 different images simultaniously are being downloaded .....(这是7个不同的gif图像之一) ps: if (!MaxOpenFiles is only for tes
ting the error by using a different file *** *****************部分
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;
return false;}
}
************************
在那一刻,一个文件无法打开
我有“强烈的感觉”,这是由于最大打开文件的强制限制并且与
内存堆栈等无关
我知道 SPIFFS 中打开文件的最大数量被硬编码为“5”
这部分给出了问题,因为在索引期间打开了太多文件。 html
server.on(\"/\", HTTP_ANY,handle_OnConnect);
**************
void handle_OnConnect(AsyncWebServerRequest *request) {
request->send(SPIFFS, \"/index.html\", String(), false, 处理器);
}