CDP File Upload — test versions

Progressive isolation harness (Part 1, outside the VPN). Pick a version, then run the same PDF/image files from each phone. Each step adds one layer over the previous.

O1

Plain HTML5 + IIS

A native multipart <form> HTTP POST — no Blazor, no JavaScript. Proves the device + browser + network + IIS path can move bytes at all.

Transport: HTTP POST · the one non-circuit baseline
Open O1 →
O2

Minimal Blazor Server

One InputFile reading over the SignalR circuit (render-mode="Server", prerender off). Isolates the Blazor Server upload mechanism — no MudBlazor, no layering.

Transport: SignalR circuit · SignalR MaximumReceiveMessageSize 10 MB
Open O2 →
O3

cdp-architecture (full mimic)

Faithful condensed copy of the real ClientPortal app: Blazor Server + MudBlazor, layered Data/Services/Shared/Web, the same Select → Preview → Submit flow, in-memory byte[], the KeepAlive circuit hack, and the accept list without HEIC.

Transport: SignalR circuit · representative of the real app
Open O3 →