Frage

Ich bin die Überprüfung einig Legacy-Code und ich habe einen Fehler gefunden, die die Antwort auf unbestimmte Zeit sitzen verursacht.

Hier ist die Grundidee:

Response.Content-Type = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename" & someFileName)
Response.AddHeader("Content-Length", someStoredLength)
Response.BinaryWrite(someByteArray)
Response.Flush()
Response.End()

Das Problem ist, dass someStoredLength ist viel größer als die tatsächliche Größe von someByteArray, so dass nur der Kunde dort für die Datei-Download wartete sitzt, während der Browser gerade dreht.

Ich bin Betrachtung nur die AddHeader zu entfernen, die den Inhalt Länge gibt, denn wenn ich das alles gut zu funktionieren scheint, aber ich mache mir Sorgen, dass ich nicht bin etwas zu verstehen.

Ist es ok für mich, dieses AddHeader zu entfernen oder soll ich einen besseren Weg finden, um mit diesem Problem fertig zu werden?

War es hilfreich?

Lösung

Ändern Sie den Content-Length-Zeile wie folgt:

Response.AddHeader("Content-Length", someByteArray.Length.ToString())

Andere Tipps

Ihre Anwendung SOLL (scroll bis zu Content-Length) definiert es jedoch, es ist nicht unbedingt erforderlich.

Hier ist ein anständige Diskussion möglicher Optionen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top