Introduction

What Is UploadWorks?

UploadWorks is a platform designed to make uploading, storing, and delivering files easier for developers. We wrap around the S3 API to support file management for Amazon S3 buckets and Cloudflare R2 buckets. Our approach to wrapping the S3 API allows us to offer BYOB (aka. Bring-Your-Own-Bucket), where you aren't locked in to our platform and you manage your data.

We understand how tough file management can be, especially if you have users uploading to your site. That's why we built UploadWorks.

1. We handle File Management

Traditionally if you wanted to upload a file, you would need to incorperate the aws-sdk alongside consistant session handling, then manually presigning urls, handling backend logic, and more.

That's absurd.

The smarter route is having your bucket on UploadWorks, where we handle the file uploading nonsense, and make it easy for you.

2. Run your own Backend Logic

When you upload a file, you send a post to /api/uploadworks on your own site.

This means zero vendor lock-in, and complete control over your storage buckets.

  wallpapers: f({maxFileSize: 10000000, mime: "image/*" })
    .middleware(({ req }) => auth(req))
    .onUploadComplete(async ({ file }) => {console.log("file", file)}),

3. Make it easy for clients to upload

We provide an open source React library (opens in a new tab) for uploading files from your frontend (and api for your backend) with convenient hooks.