/* ====================================================================== Function: getSpiffsJSONData Purpose : Return JSON string containing list of SPIFFS files Input : Response String Output : - Comments: - ====================================================================== */ void getSpiffsJSONData(String & response) { char buffer[32]; bool first_item = true; // Json start response = FPSTR(FP_JSON_START); // Files Array response += F("\"files\":[\r\n"); // Loop trough all files Dir dir = SPIFFS.openDir("/"); while (dir.next()) { String fileName = dir.fileName(); size_t fileSize = dir.fileSize(); if (first_item) first_item=false; else response += ","; response += F("{\"na\":\""); response += fileName.c_str(); response += F("\",\"va\":\""); response += fileSize; response += F("\"}\r\n"); } response += F("],\r\n"); // SPIFFS File system array response += F("\"spiffs\":[\r\n{"); // Get SPIFFS File system informations FSInfo info; SPIFFS.info(info); response += F("\"Total\":"); response += info.totalBytes ; response += F(", \"Used\":"); response += info.usedBytes ; response += F(", \"ram\":"); response += system_get_free_heap_size() ; response += F("}\r\n]"); // Json end response += FPSTR(FP_JSON_END); }
void RRFs::handleFileList() { if(!server->hasArg("dir")) {server->send(500, "text/plain", "BAD ARGS"); return;} String path = server->arg("dir"); DEBUGPRINT.println("handleFileList: " + path); Dir dir = SPIFFS.openDir(path); path = String(); String output = "["; while(dir.next()){ if (output != "[") output += ','; output += "{"; //output+="\"type\":\""; // output += (dir.isDir())?"dir":"file"; output += "\"name\":\""; output += String(dir.fileName()).substring(1); output += "\",\"size\":\""; output += formatBytes(dir.fileSize()); output += "\"}"; } output += "]"; server->send(200, "text/json", output); }