diff --git a/webapp/app.py b/webapp/app.py index 73e246f..a4355e3 100644 --- a/webapp/app.py +++ b/webapp/app.py @@ -11,6 +11,8 @@ from datetime import datetime from pathlib import Path from typing import Optional +from urllib.parse import quote + from fastapi import FastAPI, Depends, File, HTTPException, Request, Response, UploadFile, Cookie from fastapi.responses import FileResponse, StreamingResponse from fastapi.staticfiles import StaticFiles @@ -280,9 +282,10 @@ async def download_ics( ics_path = DATA_DIR / "jobs" / job_id / filename if not ics_path.exists(): raise HTTPException(404, "Fichier introuvable") + encoded = quote(filename, safe='') return FileResponse( - ics_path, media_type="text/calendar", filename=filename, - headers={"Content-Disposition": f'attachment; filename="{filename}"'}, + ics_path, media_type="text/calendar", + headers={"Content-Disposition": f"attachment; filename*=UTF-8''{encoded}"}, )