From 149506beea35a457e713360a3a627dadce241d04 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 20 Nov 2025 00:40:19 +0000 Subject: [PATCH] Fix file download issue - add attachment disposition type to Content-Disposition headers Files were downloading with filename "view" instead of the actual filename because the Content-Disposition header was missing the disposition type (attachment/inline). Changed from `filename="..."` to `attachment; filename="..."` in all 4 locations in the /view endpoint to ensure proper filename handling by browsers. This fixes downloads for videos, audio, and other file types served through the /view endpoint. --- server.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/server.py b/server.py index d059d3dc9..d7cdc16fe 100644 --- a/server.py +++ b/server.py @@ -486,7 +486,7 @@ class PromptServer(): buffer.seek(0) return web.Response(body=buffer.read(), content_type=f'image/{image_format}', - headers={"Content-Disposition": f"filename=\"{filename}\""}) + headers={"Content-Disposition": f"attachment; filename=\"{filename}\""}) if 'channel' not in request.rel_url.query: channel = 'rgba' @@ -506,7 +506,7 @@ class PromptServer(): buffer.seek(0) return web.Response(body=buffer.read(), content_type='image/png', - headers={"Content-Disposition": f"filename=\"{filename}\""}) + headers={"Content-Disposition": f"attachment; filename=\"{filename}\""}) elif channel == 'a': with Image.open(file) as img: @@ -523,7 +523,7 @@ class PromptServer(): alpha_buffer.seek(0) return web.Response(body=alpha_buffer.read(), content_type='image/png', - headers={"Content-Disposition": f"filename=\"{filename}\""}) + headers={"Content-Disposition": f"attachment; filename=\"{filename}\""}) else: # Get content type from mimetype, defaulting to 'application/octet-stream' content_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream' @@ -535,7 +535,7 @@ class PromptServer(): return web.FileResponse( file, headers={ - "Content-Disposition": f"filename=\"{filename}\"", + "Content-Disposition": f"attachment; filename=\"{filename}\"", "Content-Type": content_type } )