10. Storage & Media/Upload Pipeline

Direct Presigned Upload Pipeline

Upload multi-gigabyte video files and high-resolution photo archives directly from the browser to edge storage—bypassing application servers to prevent memory bottlenecks.

MEMORY PROTECTION
0MB Load
On Application API Server Memory

Large files stream directly from the client browser to the storage vault using cryptographically-signed authorization tokens.

Direct-to-Storage Ingress

Direct-to-Storage Architecture

Traditional web applications buffer uploaded files in server memory before writing to disk, leading to server crashes during multi-user uploads. GN-Apex uses a presigned streaming model:

INGRESS / STREAMING

Direct Browser Uploads

Client browsers stream raw binaries directly to the storage bucket using short-lived 10-minute presigned authorization URLs.

STORAGE / ISOLATION

Staging Quarantine

Raw uploaded assets land in an isolated staging folder (public/staging/) until validated and optimized by background workers.

WORKERS / BACKGROUND

Asynchronous Processing

Heavy compression and video transcoding execute in dedicated background queues without blocking user actions.

UI / LIVE STATUS

Real-Time Processing Tray

A floating UI drawer tracks live transcoding progress and automatically rehydrates if the user refreshes their browser.

The 2-Step Upload Lifecycle

1
Step 1: Request Presigned Channel

The client requests a secure upload channel. The server provisions a pending database record and returns a single-use S3 upload URL valid for 10 minutes.

2
Direct Browser PUT to Storage

The browser uploads the file directly to the presigned URL using a standard HTTP PUT request with real-time percentage progress.

3
Step 2: Commit & Dispatch Optimizer

Once the upload finishes, the client notifies the server. The job is placed in the background optimization queue for compression and CDN publishing.

Ephemeral Staging Isolation

Uploaded files land in public/staging/[userId]/[filename]. The media processing cluster downloads the staging file, compresses it into modern formats, uploads the optimized output to public/assets/, and automatically deletes the original staging file.

Processing Tray & Rehydration

Browser Refresh Protection
If a user closes or refreshes their browser during video transcoding, the Processing Tray queries the server upon reopening to restore active upload cards and display live progress.