Нужно ли устанавливать Content-Length в моем заголовке ответа?

StackOverflow https://stackoverflow.com/questions/1412623

Вопрос

Я проверяю некоторый устаревший код и обнаружил ошибку, из-за которой ответ остается неопределенным.

Вот основная идея:

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

Проблема в том, что someStoredLength намного больше, чем фактический размер someByteArray, поэтому клиент просто сидит и ждет загрузки файла, а браузер просто вращается.

Я обдумываю только удаление AddHeader, который задает длину контента, потому что, когда я делаю это, все работает нормально, но я беспокоюсь, что я чего-то не понимаю.

Это нормально для меня, чтобы удалить этот AddHeader или я должен найти лучший способ справиться с этой проблемой?

Это было полезно?

Решение

Измените строку Content-Length на следующую:

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

Другие советы

Ваше приложение СЛЕДУЕТ (прокрутка вплоть до Content-Length), но это не обязательно.

Вот вам достойное обсуждение возможных вариантов.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top