// the find
datopian/r2-bucket-uploader
Cloudflare R2 bucket File Uploader with multipart upload enabled. Tested with files up to 10 GB size.
A copy-paste Next.js file uploader component for Cloudflare R2, wrapping Uppy with presigned URLs and multipart upload support. Aimed at developers who want working large-file uploads without building the S3 multipart dance from scratch. Works with any S3-compatible storage, not just R2.
The multipart upload path is the real value — handling the complete/abort/sign-part API surface correctly is tedious and this gets it right. Uppy is a solid underlying library with good browser compatibility. The copy-paste distribution model means you own the code and can modify it without fighting an opaque package. Tested at 10 GB, which is the number most people need before trusting multipart code.
Content hashing was removed for performance, so you have no integrity check — you won't know if a 10 GB file uploaded corrupted. The CORS example uses AllowedOrigins: ['*'] with no warning about the security implications for non-public buckets. Pages Router only — App Router users need to rewrite the API routes, which is most new Next.js projects now. No resumable uploads: if the browser tab closes mid-upload at 8 GB, you start over.