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.

Articles relacionats