En binær fil bør nå HTTP-klienten som bytes. At læse den med en tekstlæser og genkode den resulterende streng som ASCII kan erstatte værdier, før proxyen modtager noget. At en lille tekstdel fungerer, gør ikke den vej sikker for et billede, et arkiv eller et dokument.

I en eksisterende .NET-uploadvej skal du erstatte den konvertering med en binær body-kilde:

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

Send indholdet gennem applikationens konfigurerede HTTP-upload; fragmentet etablerer body-kilden, mens den eksisterende klient stadig ejer metoden, destinationen, proxyen og livstidshåndteringen.

Fjern enhver Content-Length, der er beregnet ud fra den gamle strengs tegntal. Feltet måler oktetter. Lad HTTP-biblioteket konstruere framing ud fra body-repræsentationen i stedet for at parre et tegntal med en buffer med en anden kodning.

Til en bevidst tekstupload skal du vælge kodningen eksplicit og udlede en eventuel påkrævet længde fra de sendte bytes. Den beslutning om tekstformat bør ikke anvendes på vilkårlige filer.

Sammenlign den overførte artefakt med en pålidelig forventet værdi. HTTP-succes bekræfter, at en uploadoperation blev fuldført på det lag; det kan ikke vise, at en tidligere tekstkonvertering bevarede de oprindelige bytes.

Relaterede artikler