Ei lagra fil er enno ikkje ei stadfesta nedlasting
Kontroller at ei nedlasting via proxien inneheld den forventa fila, ikkje ei innloggingsside eller eit ufullstendig svar, før du publiserer eller brukar ho.
Ei hypotetisk report.xlsx er 8 KB og opnar som ei innloggingsside. Programmet lagra ei fil med suksess, men fekk aldri det tiltenkte reknearket. Eit filnamn vert valt lokalt; det er ikkje prov på kva som kom.
Gjer aksept til eit eige steg før den mellombelse nedlastinga vert publisert:
- Krev ei vellukka overføring og den forventa svarstatusen. Ta vare på ein feil i staden for å handsame byta som vart skrivne før han, som fullstendige.
- Samanlikn innhaldet med den forventa filtypen. Ei innloggings- eller filterside kan returnere 200. Content-Type kan vere feil, og eit HTML-prefiks i eit rekneark er ei åtvaring som må granskast. Ei fil som byrjar med ei HTTP-statuslinje, peikar i staden på rå svarbearbeiding.
- Valider alle lagra byta mot ein tiltru kontrollsum eller signatur når han er tilgjengeleg. Fyrst etter at dei naudsynte kontrollane er bestått, bør programmet publisere eller bruke den endelege fila.
Å rekne ut ein hash utan ein forventa verdi identifiserer berre byta du fekk. Ein usignert kontrollsum henta via same utiltrulege veg kan dele svakheita til fila; bruk ein uavhengig tiltru forventning.
Ver òg varsam med storleikssamanlikningar. Ein HTTP-klient kan avkode innhaldskodinga medan han les, så den resulterande fillengda kan med rette avvike frå ein header som skildrar den koda meldinga. Samanlikn forventninga til utgivaren med framstillinga som faktisk vart lagra.
Om eit forsøk mislukkast, ta vare på den mellombelse utdata berre for ein medviten gjenopptaking, eller kast henne. Ufullstendige byta på den endelege vegen tvingar neste program til å gjette om dei er brukbare.