Säilita binaarfaili baidid puhverserveri kaudu üleslaadimisel
Säilita faili baidid ja baidipikkused puhverserveri kaudu üleslaadimisel, selle asemel et artefakt tekstina dekodeerida ja ASCII-ga uuesti üles ehitada.
Binaarfail peaks jõudma HTTP-kliendini baitidena. Selle lugemine tekstilugejaga ja saadud stringi uuesti ASCII-na kodeerimine võib väärtusi asendada enne, kui puhverserver midagi vastu võtab. See, et väike tekstinäidis töötab, ei muuda seda teed turvaliseks pildi, arhiivi ega dokumendi jaoks.
Olemasolevas .NET-i üleslaadimisteekonnas asenda see teisendus binaarse keha allikaga:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);Suuna sisu rakenduse seadistatud HTTP-üleslaadimise kaudu; fragment seab keha allika, samal ajal kui olemasolev klient haldab endiselt meetodit, sihtkohta, puhverserverit ja eluiga.
Eemalda igasugune Content-Length, mis on arvutatud vana stringi märgiloendust. See väli mõõdab oktette. Lase HTTP-teegil raamistus keha esitusest ehitada, selle asemel et siduda märgiloend teisiti kodeeritud puhvriga.
Sihipärase tekstilise üleslaadimise jaoks vali kodeering selgesõnaliselt ja tuleta vajalik pikkus saadetud baitidest. Seda tekstivormingu otsust ei tohiks rakendada suvalistele failidele.
Võrdle ülekantud artefakti usaldusväärse oodatava väärtusega. HTTP edu kinnitab, et üleslaadimistoiming lõppes selles kihis; see ei saa näidata, et varasem tekstiteisendus säilitas algseid baite.