We are currently working on a new version of the documentation.

Concepts

Detailed explanations of the core concepts of vs3.

Uploading

vs3 uses presigned upload URLs to upload files to your storage. When the upload method is invoked, the server validates the request and generates a presigned upload URL for the specified file, which the client then uses to upload the file via XMLHttpRequest directly to storage.

This is particularly beneficial in serverless environments like Vercel, as the actual files never touch the server, saving resources and reducing the risk of file corruption.

Large files

For very large files (over ~100MB), use multipart uploads. vs3 supports multipart upload through dedicated multipart endpoints and the useMultipartUpload client hook.

See Multipart Uploads for the full flow and client usage.

Downloading

As with uploading, vs3 uses presigned download URLs to retrieve files from your storage. When the download method is invoked, the server checks whether an object with the specified key exists, and if so, returns a presigned download URL. This URL can then be used by the client to download the file using a standard HTTP request.