Binarna datoteka bi morala do odjemalca HTTP priti kot bajti. Branje z bralnikom besedila in ponovno kodiranje nastalega niza v ASCII lahko zamenja vrednosti, preden posrednik sploh kaj prejme. To, da majhen vzorec besedila deluje, te poti ne naredi varne za sliko, arhiv ali dokument.

V obstoječi poti pošiljanja .NET to pretvorbo zamenjajte z binarnim virom telesa:

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

Vsebino speljite skozi v aplikaciji nastavljeno pošiljanje HTTP; odlomek vzpostavi vir telesa, medtem ko obstoječi odjemalec še vedno upravlja metodo, cilj, posrednika in življenjsko dobo.

Odstranite vsak Content-Length, izračunan iz števila znakov starega niza. To polje meri oktete. Pustite knjižnici HTTP, da zgradi okvirjanje iz predstavitve telesa, namesto da bi število znakov seznanjali z drugače kodiranim medpomnilnikom.

Pri namernem pošiljanju besedila kodiranje izberite izrecno in zahtevano dolžino izpeljite iz poslanih bajtov. Ta odločitev o besedilnem formatu se ne bi smela uporabljati za poljubne datoteke.

Primerjajte preneseni artefakt z zaupanja vredno pričakovano vrednostjo. Uspeh HTTP potrjuje, da se je pošiljanje na tej plasti zaključilo; ne more pokazati, da je prejšnja besedilna pretvorba ohranila izvorne bajte.

Sorodni članki