Cadw bytiau ffeil ddeuaidd wrth lwytho trwy ddirprwy
Cadw bytiau'r ffeil a hydoedd mewn bytiau wrth lwytho trwy ddirprwy yn lle dadgodio'r arteffact fel testun ac ailadeiladu ag ASCII.
Dylai ffeil ddeuaidd gyrraedd y cleient HTTP fel bytiau. Mae ei darllen â darllenydd testun ac ailgodio'r llinyn canlyniadol fel ASCII yn gallu disodli gwerthoedd cyn i'r dirprwy dderbyn unrhyw beth. Nid yw sampl testun bach yn gweithio yn gwneud y llwybr hwnnw'n ddiogel ar gyfer delwedd, archif neu ddogfen.
Mewn llwybr llwytho .NET presennol, disodlwch y trawsnewidiad hwnnw â ffynhonnell corff ddeuaidd:
using var file = File.OpenRead(path);
using var content = new StreamContent(file);Trosglwyddwch y cynnwys trwy lwytho HTTP cyfluniedig y rhaglen; mae'r darn yn sefydlu ffynhonnell y corff, tra bod y cleient presennol yn dal i fod yn berchen ar y dull, y gyrchfan, y dirprwy a'r gwaith o reoli oes.
Tynnwch unrhyw Content-Length a gyfrifwyd o gyfrif nodau'r hen linyn. Mae'r maes yn mesur octedau. Gadewch i'r llyfrgell HTTP adeiladu'r ffrâm o gynrychiolaeth y corff yn lle paru cyfrif nodau â byffer wedi'i amgodio'n wahanol.
Ar gyfer llwytho testun bwriadol, dewiswch yr amgodiad yn benodol a deilliwch unrhyw hyd gofynnol o'r bytiau a anfonwyd. Ni ddylid cymhwyso'r penderfyniad fformat testun hwn i ffeiliau mympwyol.
Cymharwch yr arteffact a drosglwyddwyd â gwerth disgwyliedig dibynadwy. Mae llwyddiant HTTP yn cadarnhau bod gweithrediad llwytho wedi'i gwblhau ar y haen honno; ni all ddangos bod trawsnewidiad testun blaenorol wedi cadw'r bytiau gwreiddiol.