From d29271184eb629aaf83559cf5a4b5a95acdee191 Mon Sep 17 00:00:00 2001 From: landerrosette <57791410+landerrosette@users.noreply.github.com> Date: Fri, 26 Dec 2025 22:27:18 +0800 Subject: [PATCH] fix: extract correct MIME type from base64 profile images (#20171) --- backend/open_webui/routers/models.py | 5 +++-- backend/open_webui/routers/users.py | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/backend/open_webui/routers/models.py b/backend/open_webui/routers/models.py index 4475b2d78e..c5d8b6d102 100644 --- a/backend/open_webui/routers/models.py +++ b/backend/open_webui/routers/models.py @@ -306,12 +306,13 @@ async def get_model_profile_image(id: str, user=Depends(get_verified_user)): header, base64_data = model.meta.profile_image_url.split(",", 1) image_data = base64.b64decode(base64_data) image_buffer = io.BytesIO(image_data) + media_type = header.split(";")[0].lstrip("data:") return StreamingResponse( image_buffer, - media_type="image/png", + media_type=media_type, headers={ - "Content-Disposition": "inline; filename=image.png", + "Content-Disposition": "inline", **cache_headers, }, ) diff --git a/backend/open_webui/routers/users.py b/backend/open_webui/routers/users.py index 994e2f2b14..12d1415059 100644 --- a/backend/open_webui/routers/users.py +++ b/backend/open_webui/routers/users.py @@ -461,11 +461,12 @@ async def get_user_profile_image_by_id(user_id: str, user=Depends(get_verified_u header, base64_data = user.profile_image_url.split(",", 1) image_data = base64.b64decode(base64_data) image_buffer = io.BytesIO(image_data) + media_type = header.split(";")[0].lstrip("data:") return StreamingResponse( image_buffer, - media_type="image/png", - headers={"Content-Disposition": "inline; filename=image.png"}, + media_type=media_type, + headers={"Content-Disposition": "inline"}, ) except Exception as e: pass