diff --git a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz index 5a816d7..f795265 100644 Binary files a/examples/ESP_AsyncFSBrowser/data/acefull.js.gz and b/examples/ESP_AsyncFSBrowser/data/acefull.js.gz differ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz index 4aab43d..0ba451b 100644 Binary files a/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz and b/examples/ESP_AsyncFSBrowser/data/worker-css.js.gz differ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz index f5b1990..4963128 100644 Binary files a/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz and b/examples/ESP_AsyncFSBrowser/data/worker-html.js.gz differ diff --git a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz index f3d1c7d..9909a16 100644 Binary files a/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz and b/examples/ESP_AsyncFSBrowser/data/worker-javascript.js.gz differ diff --git a/examples/SmartSwitch/data/acefull.js.gz b/examples/SmartSwitch/data/acefull.js.gz index 5a816d7..f795265 100644 Binary files a/examples/SmartSwitch/data/acefull.js.gz and b/examples/SmartSwitch/data/acefull.js.gz differ diff --git a/examples/SmartSwitch/data/worker-css.js.gz b/examples/SmartSwitch/data/worker-css.js.gz index 4aab43d..0ba451b 100644 Binary files a/examples/SmartSwitch/data/worker-css.js.gz and b/examples/SmartSwitch/data/worker-css.js.gz differ diff --git a/examples/SmartSwitch/data/worker-html.js.gz b/examples/SmartSwitch/data/worker-html.js.gz index f5b1990..4963128 100644 Binary files a/examples/SmartSwitch/data/worker-html.js.gz and b/examples/SmartSwitch/data/worker-html.js.gz differ diff --git a/examples/SmartSwitch/data/worker-javascript.js.gz b/examples/SmartSwitch/data/worker-javascript.js.gz index f3d1c7d..9909a16 100644 Binary files a/examples/SmartSwitch/data/worker-javascript.js.gz and b/examples/SmartSwitch/data/worker-javascript.js.gz differ diff --git a/src/SPIFFSEditor.cpp b/src/SPIFFSEditor.cpp index 2a2598b..e088570 100644 --- a/src/SPIFFSEditor.cpp +++ b/src/SPIFFSEditor.cpp @@ -240,6 +240,9 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ } } else if(request->method() == HTTP_DELETE){ if(request->hasParam("path", true)){ +#ifdef ESP32 + _fs.rmdir(request->getParam("path", true)->value()); // try rmdir for littlefs +#endif _fs.remove(request->getParam("path", true)->value()); request->send(200, "", "DELETE: "+request->getParam("path", true)->value()); } else @@ -275,7 +278,27 @@ void SPIFFSEditor::handleRequest(AsyncWebServerRequest *request){ String filename = request->getParam("path", true)->value(); if(_fs.exists(filename)){ request->send(200); - } else { + } else { +/*******************************************************/ +#ifdef ESP32 + if (strchr(filename.c_str(), '/')) { + // For file creation, silently make subdirs as needed. If any fail, + // it will be caught by the real file open later on + char *pathStr = strdup(filename.c_str()); + if (pathStr) { + // Make dirs up to the final fnamepart + char *ptr = strchr(pathStr, '/'); + while (ptr) { + *ptr = 0; + _fs.mkdir(pathStr); + *ptr = '/'; + ptr = strchr(ptr+1, '/'); + } + } + free(pathStr); + } +#endif +/*******************************************************/ fs::File f = _fs.open(filename, "w"); if(f){ f.write((uint8_t)0x00); diff --git a/src/edit.htm.gz.h b/src/edit.htm.gz.h index 542f9d8..0f937aa 100644 --- a/src/edit.htm.gz.h +++ b/src/edit.htm.gz.h @@ -2,7 +2,7 @@ //File: edit.htm.gz, Size: 4503 #define edit_htm_gz_len 4503 const uint8_t edit_htm_gz[] PROGMEM = { -0x1F,0x8B,0x08,0x08,0x59,0xFA,0xF9,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, +0x1F,0x8B,0x08,0x08,0x0F,0x7A,0xFF,0x5E,0x02,0x00,0x65,0x64,0x69,0x74,0x2E,0x68,0x74,0x6D,0x00,0xB5, 0x1A,0x0B,0x5B,0xDB,0x36,0xF0,0xAF,0x18,0x6F,0x63,0xF6,0xE2,0x38,0x0E,0x50,0xD6,0x3A,0x18,0x16,0x1E, 0xEB,0xBB,0x50,0x12,0xDA,0xD1,0x8E,0xED,0x53,0x6C,0x25,0x56,0xB1,0x25,0xCF,0x96,0x09,0x34,0xCD,0x7F, 0xDF,0x49,0xF2,0x93,0x84,0xEE,0xF1,0x6D,0xA5,0x60,0x49,0xA7,0x3B,0xDD,0x9D,0xEE,0x25,0xD9,0x7B,0x1B,