Assets
Upload UX and DAM
LiveUse resumable upload sessions, progress-aware browser uploads, tags, folders, search, bulk actions, and usage summaries.
Goal
Build a production upload and asset management workflow around the StackShift Assets API.
Current status
Live
This area is documented as current, user-reliable behavior.
Workflow
- 1Use normal upload for small backend files and upload sessions for large or unreliable browser uploads.
- 2Resume chunked uploads by reading the received part list from the session endpoint.
- 3Attach folder prefixes, tags, visibility, and metadata at upload time or through bulk actions.
- 4Search assets by query, tag, MIME type, family, folder, or checksum.
- 5Use collections and saved searches for repeatable DAM workflows.
Chunked upload flow
Example
tsconst session = await stackshift.assets.createChunkedUploadSession({
fileName: file.name,
fileSize: file.size,
mimeType: file.type,
bucket: 'media',
key: `uploads/${file.name}`,
visibility: 'private',
})
await stackshift.assets.uploadChunk(session.id, 1, firstChunk)
await stackshift.assets.completeUploadSession(session.id)Management tools
- Virtual folders are key prefixes, not separate folder records.
- Tags are normalized so filtering and bulk edits stay predictable.
- Duplicate hints use checksum groups.
- Usage summaries group assets by bucket, MIME family, visibility, and duplicates.
- Bulk actions support delete, visibility changes, tag changes, and metadata patches.
Expected result
Users can upload large files reliably and manage the resulting library without leaving the dashboard.