En binærfil bør nå HTTP-klienten som byte. Å lese den med en tekstleser og kode den resulterende strengen på nytt som ASCII kan erstatte verdier før proxyen mottar noe som helst. At en liten tekstprøve fungerer, gjør ikke den veien trygg for et bilde, arkiv eller dokument.

I en eksisterende .NET-opplastingsvei erstatter du den konverteringen med en binær kroppskilde:

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

Send innholdet gjennom applikasjonens konfigurerte HTTP-opplasting; fragmentet etablerer kroppskilden, mens den eksisterende klienten fortsatt eier metoden, destinasjonen, proxyen og levetidshåndteringen.

Fjern enhver Content-Length som er beregnet fra den gamle strengens antall tegn. Feltet måler oktetter. La HTTP-biblioteket bygge rammeverket fra kroppsrepresentasjonen i stedet for å pare et tegntall med en buffer som er kodet annerledes.

For en tilsiktet tekstopplasting velger du kodingen eksplisitt og utleder eventuell nødvendig lengde fra bytene som sendes. Den beslutningen om tekstformat bør ikke brukes på vilkårlige filer.

Sammenlign filen som er overført med en pålitelig forventet verdi. HTTP-suksess bekrefter at en opplastingsoperasjon fullført på det laget; det kan ikke vise at en tidligere tekstkonvertering bevarte de opprinnelige bytene.

Relaterte artikler