Un report.xlsx ipotetic are 8 KB și se deschide ca o pagină de conectare. Programul a salvat un fișier cu succes, dar nu a obținut niciodată foaia de calcul dorită. Numele fișierului este ales local; nu este o dovadă a ceea ce a sosit.

Faceți din acceptare un pas separat înainte de a publica descărcarea temporară:

  1. Cereți un transfer reușit și starea de răspuns așteptată. Păstrați eroarea în loc să tratați octeții scriși înaintea ei ca fiind compleți.
  2. Comparați conținutul cu tipul de artefact așteptat. O pagină de conectare sau de filtrare poate returna 200. Content-Type poate fi greșit, iar un prefix HTML într-o foaie de calcul este un avertisment care necesită investigație. Un fișier care începe cu o linie de stare HTTP indică mai degrabă o încadrare brută a răspunsului.
  3. Validați toți octeții salvați față de o sumă de control sau o semnătură de încredere, atunci când există. Aplicația ar trebui să publice sau să utilizeze fișierul final doar după trecerea verificărilor necesare.

Calcularea unui hash fără o valoare așteptată identifică doar octeții primiți. O sumă de control nesemnată, obținută pe aceeași cale neîncrezătoare, poate împărtăși slăbiciunea artefactului; folosiți o așteptare de încredere independentă.

Fiți atenți și la comparațiile de dimensiune. Un client HTTP poate decoda codificarea conținutului în timpul citirii, astfel încât lungimea fișierului rezultat poate diferi în mod legitim de un antet care descrie mesajul codificat. Comparați așteptarea editorului cu reprezentarea efectiv salvată.

Dacă o încercare eșuează, păstrați ieșirea temporară doar pentru o reluare deliberată sau eliminați-o. Lăsarea unor octeți incompleți pe calea finală obligă programul următor să ghicească dacă sunt utilizabili.

Articole similare