diff --git a/app/routers/dashboard.py b/app/routers/dashboard.py index d76c884..c231c5e 100644 --- a/app/routers/dashboard.py +++ b/app/routers/dashboard.py @@ -325,7 +325,9 @@ async def view_page_root(request: Request, page_id: int): ws_id = p.replace("workspace_", "") break filename = fp_parts[-1] if fp_parts else page.get("title", "File") - file_url = f"/api/files/{ws_id}/{filename}" if ws_id else "" + from urllib.parse import quote + safe_name = quote(filename, safe='') + file_url = f"/api/files/{ws_id}/{safe_name}" if ws_id else "" page_data["file_url"] = file_url page_data["file_mime"] = mime_type page_data["file_size"] = file_size diff --git a/app/templates/page_editor.html b/app/templates/page_editor.html index 50582b8..025e65d 100644 --- a/app/templates/page_editor.html +++ b/app/templates/page_editor.html @@ -575,7 +575,7 @@ page_title %}{{ page.title }}{% endblock %} {% block topbar %} if(b.type==='divider')return `