Foto-Upload: 413 beheben und Kamera stabilisieren

- nginx client_max_body_size auf 12m (Standard 1 MB loeste beim Bild-Upload
  einen 413 aus, bevor das Backend den Upload sah).
- Backend-Bildlimit auf 8 MB angehoben, bleibt unter dem nginx-Limit, damit
  Uebergroesse eine klare 400-Meldung statt eines nackten 413 ergibt.
- Web: Foto vor dem Upload clientseitig verkleinern (max 1600px, JPEG) -
  schneller, kleiner in der DB, zuverlaessig unter dem Limit.
- iOS: Kamera ueber fullScreenCover statt sheet und Schliessen deterministisch
  ueber ein Binding - behebt das "Kamera geht direkt wieder zu"-Flackern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Scarriffle
2026-07-25 23:11:59 +02:00
parent a664410ac0
commit 5c8b46a0d5
4 changed files with 47 additions and 9 deletions

View File

@@ -18,9 +18,11 @@ from sqlalchemy.orm import Session
from ..models import Product, ProductImage
# Grosszuegig genug fuer ein Produktfoto, eng genug, dass niemand die Datenbank
# mit einer versehentlich verlinkten Datei volllaeuft.
MAX_BYTES = 2 * 1024 * 1024
# Grosszuegig genug fuer ein Produktfoto (auch ein Handy-Foto), eng genug, dass
# niemand die Datenbank mit einer versehentlich verlinkten Datei volllaeuft.
# Bleibt unter dem nginx-Limit (client_max_body_size, siehe web/nginx.conf),
# damit Uebergroesse eine klare Meldung statt eines nackten 413 ergibt.
MAX_BYTES = 8 * 1024 * 1024
ALLOWED_TYPES = {"image/jpeg", "image/png", "image/webp", "image/gif"}