diff --git a/esp32/src/filesystem_ws.cpp b/esp32/src/filesystem_ws.cpp index c37b368..fc41653 100644 --- a/esp32/src/filesystem_ws.cpp +++ b/esp32/src/filesystem_ws.cpp @@ -386,6 +386,10 @@ socket_message_FSUploadStartResponse FileSystemHandler::handleUploadStart( return response; } + // Set file buffer size large, so we use ram to write to - and only flush when we need it (TODO: currently it is periodical) + // Set buffer size so 1 mb (static) TODO: Check that there is enough ram to do this + file.setBufferSize(1000000); + std::string transferId = generateTransferId(); UploadState state; @@ -433,17 +437,6 @@ void FileSystemHandler::handleUploadData(const socket_message_FSUploadData& req) // A more robust implementation would buffer out-of-order chunks } - // Check available space before writing - size_t fs_total = 0, fs_used = 0; - esp_littlefs_info("spiffs", &fs_total, &fs_used); - size_t freeSpace = fs_total - fs_used; - if (freeSpace < req.data.size + 4096) { - state.hasError = true; - state.errorMessage = "Filesystem full"; - finalizeUpload(transferId, false, state.errorMessage); - return; - } - // Write chunk data size_t bytesWritten = state.file.write(req.data.bytes, req.data.size); if (bytesWritten != req.data.size) {