Providers
Amazon S3
Bucket CORS required for browser uploads to AWS S3.
Amazon S3 is the reference target for dimah-s3. Defaults already fit — upload.method: "POST" works out of the box, and you do not need a custom endpoint or forcePathStyle.
Set up the client once in Quickstart. The only extra step for browser uploads is bucket CORS.
CORS (required)
Uploads go from the browser straight to S3, not through your API. If the bucket has no CORS rule, the request fails even when credentials and the route are correct:
[
{
"AllowedOrigins": ["https://your-app.example"],
"AllowedMethods": ["GET", "PUT", "POST", "HEAD"],
"AllowedHeaders": ["*"],
"ExposeHeaders": ["ETag", "Content-Type"],
"MaxAgeSeconds": 3000
}
]Allow POST for the default upload method. Add PUT if you switch to upload.method: "PUT". Narrow origins and headers in production.
Object ACL (private / public-read) and resolveObjectAcl are supported on S3 — enable them only when you need them.