Route Media native Starlette
Build and Push Docker Image / build-and-push (push) Successful in 35s

This commit is contained in:
xavier committed 2026-08-26 19:50:36 +02:00
1 parent 76b9964c14
commit 26bc8483c6
1 file changed
+9 -14
+9 -14
View File
@@ -50,21 +50,16 @@ app, rt = fast_app(
app.mount("/Logo", StaticFiles(directory="Logo"), name="Logo")
#app.mount("/Media", StaticFiles(directory=dossier_media), name="Media")
# --- ROUTE ANTI-BUG RAID (LECTURE DIRECTE EN RAM) ---
@rt('/Media/{fname:path}')
def get(fname: str):
# --- LECTURE DIRECTE EN RAM (Contournement du bug FastHTML & RAID) ---
@app.get("/Media/{fname:path}")
def get_media(fname: str):
chemin = os.path.join(dossier_media, fname)
if os.path.exists(chemin):
try:
with open(chemin, "rb") as f:
donnees = f.read()
return Response(content=donnees, media_type="image/png")
except Exception as e:
print(f"Erreur critique lors de la lecture de {chemin} : {e}")
return HTMLResponse("Erreur interne", status_code=500)
return HTMLResponse("Fichier non trouvé sur le disque", status_code=404)
try:
# Lecture binaire brute qui ignore les caprices de métadonnées du disque
with open(chemin, "rb") as f:
return Response(content=f.read(), media_type="image/png")
except Exception as e:
return HTMLResponse(f"<h1 style='color:red;'>Erreur interne: {e}</h1>", status_code=404)
# --- ROUTES D'AUTHENTIFICATION ---
@rt('/login')