Binarna datoteka treba stići do HTTP klijenta kao bajtovi. Čitanje tekstualnim čitačem i ponovno kodiranje dobijenog niza u ASCII može zamijeniti vrijednosti prije nego proxy išta primi. To što mali tekstualni uzorak radi ne čini taj put sigurnim za sliku, arhivu ili dokument.

U postojećem .NET putu otpremanja zamijenite tu konverziju binarnim izvorom tijela:

using var file = File.OpenRead(path);
using var content = new StreamContent(file);

Proslijedite sadržaj kroz konfigurisano HTTP otpremanje aplikacije; isječak uspostavlja izvor tijela, dok postojeći klijent i dalje upravlja metodom, odredištem, proxyjem i trajanjem.

Uklonite svaki Content-Length izračunat iz broja znakova starog niza. To polje mjeri oktete. Pustite HTTP biblioteku da izgradi okvir iz prikaza tijela umjesto da uparuje broj znakova s drugačije kodiranim međuspremnikom.

Za namjerno tekstualno otpremanje eksplicitno odaberite kodiranje i izvedite potrebnu dužinu iz poslanih bajtova. Ta odluka o tekstualnom formatu ne treba se primjenjivati na proizvoljne datoteke.

Uporedite prenesenu datoteku s pouzdanom očekivanom vrijednošću. HTTP uspjeh potvrđuje da je operacija otpremanja završena na tom sloju; ne može pokazati da je prethodna tekstualna konverzija sačuvala izvorne bajtove.

Povezani članci