Question

Je suis en train de réviser un code hérité et j'ai trouvé un bogue qui empêche la réponse de rester indéfiniment.

Voici l'idée de base:

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()

Le problème est que someStoredLength est beaucoup plus grand que la taille réelle de someByteArray. Le client reste donc assis à attendre le téléchargement du fichier pendant que le navigateur tourne.

J'envisage simplement de supprimer AddHeader qui spécifie la longueur du contenu, car lorsque je le fais, tout semble bien fonctionner, mais je crains de ne pas comprendre quelque chose.

Puis-je supprimer ce AddHeader ou devrais-je trouver un meilleur moyen de résoudre ce problème?

Était-ce utile?

La solution

Modifiez la ligne Content-Length comme suit:

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

Autres conseils

Votre application DEVRAIT . jusqu’à Content-Length), définissez-le, cependant, ce n’est pas strictement requis.

Voici un discussion décente sur les options possibles.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top