diff --git a/main.py b/main.py index 5fc382a..ea39af8 100644 --- a/main.py +++ b/main.py @@ -52,12 +52,19 @@ app.mount("/Logo", StaticFiles(directory="Logo"), name="Logo") # (J'ai supprimé l'ancien montage /Media capricieux de Docker) # --- ROUTE DÉDIÉE POUR L'AFFICHAGE ET TÉLÉCHARGEMENT DES MÉDIAS --- -@rt('/Media/{filename}') +@rt('/Media/{filename:path}') def get(filename: str): chemin = os.path.join(dossier_media, filename) if os.path.exists(chemin): - return FileResponse(chemin, media_type="image/png") - return HTMLResponse("Image introuvable sur le disque", status_code=404) + try: + # Lecture "brute" pour contourner le bug des disques RAID sous Docker + with open(chemin, "rb") as f: + donnees_image = f.read() + return Response(content=donnees_image, media_type="image/png") + except Exception as e: + return HTMLResponse(f"Erreur de lecture sur le disque : {str(e)}", status_code=500) + + return HTMLResponse(f"Image introuvable physiquement : {chemin}", status_code=404) # --- ROUTES D'AUTHENTIFICATION --- @rt('/login')