From 0ee90902c63c57d2529808244aefc00037fd2f7f Mon Sep 17 00:00:00 2001 From: Mathieu Carbou Date: Wed, 24 Sep 2025 20:26:39 +0200 Subject: [PATCH] Fix #292: Upload handler was not called when an empty file was uploaded. Uploading an empty file is a valid use case. Ref: https://github.com/ESP32Async/ESPAsyncWebServer/issues/292 --- src/WebRequest.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/src/WebRequest.cpp b/src/WebRequest.cpp index 2abc4867f..5bbe0b723 100644 --- a/src/WebRequest.cpp +++ b/src/WebRequest.cpp @@ -596,13 +596,11 @@ void AsyncWebServerRequest::_parseMultipartPostByte(uint8_t data, bool last) { if (!_itemIsFile) { _params.emplace_back(_itemName, _itemValue, true); } else { - if (_itemSize) { - if (_handler) { - _handler->handleUpload(this, _itemFilename, _itemSize - _itemBufferIndex, _itemBuffer, _itemBufferIndex, true); - } - _itemBufferIndex = 0; - _params.emplace_back(_itemName, _itemFilename, true, true, _itemSize); + if (_handler) { + _handler->handleUpload(this, _itemFilename, _itemSize - _itemBufferIndex, _itemBuffer, _itemBufferIndex, true); } + _itemBufferIndex = 0; + _params.emplace_back(_itemName, _itemFilename, true, true, _itemSize); free(_itemBuffer); _itemBuffer = NULL; }