You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat(files): use multipart/form-data for /api/files/create (#9521)
Switches the HTTP upload path from base64-in-JSON to
multipart/form-data,
eliminating the 33% size overhead and pairing naturally with File/Blob
on
the frontend. The WASM/Pyodide bridge keeps its JSON+base64 wire format
since the JS<->Py RPC boundary cannot carry multipart; both transports
share a single client-side FileCreateInput interface.
Also adds:
- path-traversal hardening in OSFileSystem.create_file_or_directory
- parse_multipart_request helper in marimo/_server/api/utils.py
Two followups:
- streaming so the full file doesn't need to be loaded into memory in
the server
- batching uploads on the frontend
0 commit comments