Skip to content

Use signed url to upload image etc #3952

@ansarlivspace

Description

@ansarlivspace

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions