-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Vendure currently stores all uploaded assets locally, causing extra backend load and limited scalability. Direct browser-to-cloud uploads are not supported.
Solution
Enable Direct signed URL uploads:
Admin UI requests a signed URL from Vendure.
File uploads directly from browser to Bucket via the signed URL.
UI notifies Vendure with the object path or public URL to store metadata.
Backend changes:
Minimal CloudAssetStorageStrategy for URLs and deletes.
Endpoint to generate signed upload URLs.
Alternatives Considered
Upload via backend buffers (adds load).
Use external media service (adds complexity).
Additional Context
Signed URLs expire in 10 minutes.
Validate MIME type (images only) and file size.
Use UUID-based paths: assets/{uuid}.{ext}.
Deleting an asset removes it from Bucket.