From d98d92c8de47b02036062286c2a246c950053eef Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 17 Jul 2025 05:56:14 +0000 Subject: [PATCH 1/2] Initial plan From d99576f69100a5eed76ec437b72ebbabf42ba8df Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 17 Jul 2025 06:12:28 +0000 Subject: [PATCH 2/2] Fix Content-Disposition header causing files to download instead of play inline Co-authored-by: mathieucarbou <61346+mathieucarbou@users.noreply.github.com> --- src/WebResponses.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/WebResponses.cpp b/src/WebResponses.cpp index 2f54e7426..f45b6f7af 100644 --- a/src/WebResponses.cpp +++ b/src/WebResponses.cpp @@ -747,10 +747,9 @@ AsyncFileResponse::AsyncFileResponse(FS &fs, const String &path, const char *con char *filename = (char *)path.c_str() + filenameStart; snprintf(buf, sizeof(buf), T_attachment, filename); addHeader(T_Content_Disposition, buf, false); - } else { - // Serve file inline (display in browser) - addHeader(T_Content_Disposition, T_inline, false); } + // For inline display, don't set Content-Disposition header + // Browser will display inline by default when download=false _code = 200; } @@ -782,10 +781,10 @@ AsyncFileResponse::AsyncFileResponse(File content, const String &path, const cha if (download) { snprintf_P(buf, sizeof(buf), PSTR("attachment; filename=\"%s\""), filename); - } else { - snprintf_P(buf, sizeof(buf), PSTR("inline")); + addHeader(T_Content_Disposition, buf, false); } - addHeader(T_Content_Disposition, buf, false); + // For inline display, don't set Content-Disposition header + // Browser will display inline by default when download=false } size_t AsyncFileResponse::_fillBuffer(uint8_t *data, size_t len) {