From 36622a6ed8b1c2b176a170548f2b7f9313845336 Mon Sep 17 00:00:00 2001 From: rene Date: Sat, 18 Apr 2026 12:40:35 +0200 Subject: [PATCH] Fix: EXIF-Orientierung bei Foto-Upload korrigieren (dogs + profile) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ImageOps.exif_transpose() vor convert("RGB") aufrufen, damit hochkant aufgenommene Portrait-Fotos korrekt ausgerichtet gespeichert werden und nicht um 90° gedreht angezeigt werden. --- backend/routes/dogs.py | 5 ++++- backend/routes/profile.py | 6 ++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/backend/routes/dogs.py b/backend/routes/dogs.py index a58c757..bfa8517 100644 --- a/backend/routes/dogs.py +++ b/backend/routes/dogs.py @@ -134,7 +134,10 @@ async def upload_photo( content = await file.read() try: - img = Image.open(io.BytesIO(content)).convert("RGB") + from PIL import ImageOps + img = Image.open(io.BytesIO(content)) + img = ImageOps.exif_transpose(img) # EXIF-Orientierung anwenden + img = img.convert("RGB") buf = io.BytesIO() img.save(buf, format="JPEG", quality=90) content = buf.getvalue() diff --git a/backend/routes/profile.py b/backend/routes/profile.py index 1be34d4..52ef2b5 100644 --- a/backend/routes/profile.py +++ b/backend/routes/profile.py @@ -84,11 +84,13 @@ async def upload_avatar( except ImportError: pass - from PIL import Image + from PIL import Image, ImageOps content = await file.read() try: - img = Image.open(io.BytesIO(content)).convert("RGB") + img = Image.open(io.BytesIO(content)) + img = ImageOps.exif_transpose(img) # EXIF-Orientierung anwenden + img = img.convert("RGB") buf = io.BytesIO() img.save(buf, format="JPEG", quality=90) content = buf.getvalue()