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 { cloudflare } from 'better-upload/server/helpers';
const client = cloudflare({
accountId: 'your-account-id',
accessKeyId: 'your-access-key-id',
secretAccessKey: 'your-secret-access-key',
});
const jurisdictionClient = cloudflare({
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 S3 client from the AWS SDK, just like new S3Client()
,
but already configured for that 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: s3,
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.