fix: extract correct MIME type from base64 profile images (#20171)

This commit is contained in:
landerrosette 2025-12-26 22:27:18 +08:00 committed by GitHub
parent f5c07e317e
commit d29271184e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 4 deletions

View file

@ -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,
},
)

View file

@ -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