From 1ff7cf11253b4d737dbdcb9d904e8db4d969a819 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Tue, 1 Jul 2025 10:28:48 -0500 Subject: [PATCH] single ota path --- esphome/components/web_server_base/web_server_base.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/esphome/components/web_server_base/web_server_base.cpp b/esphome/components/web_server_base/web_server_base.cpp index 4bce5d6679..194b72d5fc 100644 --- a/esphome/components/web_server_base/web_server_base.cpp +++ b/esphome/components/web_server_base/web_server_base.cpp @@ -100,9 +100,10 @@ void OTARequestHandler::handleUpload(AsyncWebServerRequest *request, const Strin return; } - // 0 means unknown size for ota_base backends (chunked encoding) - size_t ota_size = request->contentLength(); - error_code = this->ota_backend_->begin(ota_size); + // Web server OTA uses multipart uploads where the actual firmware size + // is unknown (contentLength includes multipart overhead) + // Pass 0 to indicate unknown size + error_code = this->ota_backend_->begin(0); if (error_code != ota_base::OTA_RESPONSE_OK) { ESP_LOGE(TAG, "OTA begin failed: %d", error_code); this->ota_backend_.reset();