Helpers
A collection of helper functions and utilities for your project.
S3 Clients
Better Upload has some built-in clients for popular S3-compatible storage services, like Cloudflare R2. Suggest a new client by opening an issue.
import { r2 } from 'better-upload/server/helpers';
const client = r2({
accountId: 'your-account-id',
accessKeyId: 'your-access-key-id',
secretAccessKey: 'your-secret-access-key',
});
const jurisdictionClient = r2({
accountId: 'your-account-id',
accessKeyId: 'your-access-key-id',
secretAccessKey: 'your-secret-access-key',
jurisdiction: 'eu', // If you created your R2 bucket using a jurisdiction.
});
All clients return an instance of an S3 client from the AWS SDK, just like
new S3Client()
, but already configured for the specific service.
Bucket Objects
Move object (rename)
Moves an object from one location to another, within the same bucket. Also known as renaming.
import { moveObject } from 'better-upload/server/helpers';
await moveObject({
client: r2(),
bucketName: 'my-bucket',
objectKey: 'example.jpg',
destinationKey: 'images/example.jpg',
});
This copies the object to the new location and then deletes the original object. It can be slow.