Conserva els bytes del fitxer binari en pujar-lo a través d'un proxy
Conserva els bytes i les longituds en bytes del fitxer en pujar-lo a través d'un proxy, en lloc de descodificar l'artefacte com a text i reconstruir-lo amb ASCII.
Un fitxer binari ha d'arribar al client HTTP com a bytes. Llegir-lo amb un lector de text i tornar a codificar la cadena resultant com a ASCII pot substituir valors abans que el proxy rebi res. Que una mostra de text petita funcioni no fa que aquest camí sigui segur per a una imatge, un arxiu o un document.
En un camí de pujada .NET existent, substitueix aquesta conversió per una font de cos binària:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);Passa el contingut per la pujada HTTP configurada de l'aplicació; el fragment estableix la font del cos, mentre que el client existent encara s'encarrega del mètode, la destinació, el proxy i la gestió del cicle de vida.
Elimina qualsevol Content-Length calculat a partir del recompte de caràcters de la cadena antiga. El camp mesura octets. Deixa que la biblioteca HTTP construeixi l'enquadrament a partir de la representació del cos en lloc d'emparellar un recompte de caràcters amb un buffer codificat de manera diferent.
Per a una pujada de text intencionada, tria la codificació explícitament i deriva qualsevol longitud necessària dels bytes enviats. Aquesta decisió de format de text no s'ha d'aplicar a fitxers arbitraris.
Compara l'artefacte transferit amb un valor esperat de confiança. L'èxit d'HTTP confirma que una operació de pujada s'ha completat en aquella capa; no pot demostrar que una conversió de text prèvia hagi conservat els bytes originals.