diff --git a/main.py b/main.py index b3169e0..f838fc2 100644 --- a/main.py +++ b/main.py @@ -51,29 +51,17 @@ app, rt = fast_app( 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 --- -# --- ROUTE DÉDIÉE AVEC ÉCRAN DE DIAGNOSTIC --- +# --- ROUTE DÉDIÉE - LECTURE EN MÉMOIRE VIVE --- @rt('/Media/{fname}') def get(fname: str): chemin = os.path.join(dossier_media, fname) - if os.path.exists(chemin): - return FileResponse(chemin) - - # Si le fichier est introuvable, on force l'affichage de ce que Python voit réellement try: - fichiers = os.listdir(dossier_media) + # On lit le fichier binaire brutalement sans passer par FileResponse + with open(chemin, "rb") as f: + donnees_image = f.read() + return Response(content=donnees_image, media_type="image/png") except Exception as e: - fichiers = f"Erreur de lecture du dossier : {e}" - - return HTMLResponse(f""" -
-

Diagnostic Aethas38 (Erreur 404 Interne)

-

Fichier demandé : {fname}

-

Chemin complet cherché par Python : {chemin}

-

Contenu physique du dossier tel que vu par le conteneur :

-

{fichiers}

-
- """, status_code=404) + return HTMLResponse(f"Erreur de lecture en RAM : {e}", status_code=500) # --- ROUTES D'AUTHENTIFICATION --- @rt('/login')