Pick your framework
Every page below has a copy-paste working example, the typical gotchas (CORS, multipart boundaries, progress bars, error states), and a side-by-side cost comparison vs S3 or DIY.
React
Plain fetch + FormData, 12 lines, works in Vite, CRA, Remix.
Next.js
Server Action drop-in, App Router or Pages Router, key stays server-side.
More frameworks landing weekly. While we ship them, the underlying API is the same everywhere — see the file upload API guide or curl examples.
Why a per-framework page
The file-upload primitive is identical — one POST with multipart form data. But the code around it isn't. React wants a controlled FormData. Django wants request.FILES. Next.js routes look different from Express middleware. We write the page for the developer who already picked their stack.
Don't see your stack?
The API is plain HTTPS multipart. Anything that does HTTP can talk to it — the curl example works as a Rosetta stone. API docs are here.