Nerozumím tomu, co je dané, co můžete měnit a co chcete měnit. Pokud můžete měnit server a vadí vám nahrávání souboru po 1 MB úsecích, opravte server tak, ať můžete nahrát celý soubor najednou.
K použití WebSocketu nevidím žádný důvod, byla by to jen zbytečná komplikace. Binární formát se používá i u HTTP, nahrát celý soubor jedním spojením i jedním požadavkem můžete přes HTTP také. Když použijete standardní nahrání celého souboru najednou, je implementace na serveru triviální (pro spoustu knihoven už je implementace hotová) a na klientovi to snadno můžete testovat nebo i používat třeba pomocí curl. Nebo z prohlížeče.