Pregunta

Estoy revisando un código heredado y he encontrado un error que hace que la respuesta se quede indefinidamente.

Aquí está la idea básica:

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

El problema es que someStoredLength es mucho más grande que el tamaño real de someByteArray, por lo que el cliente solo se queda esperando la descarga del archivo, mientras que el navegador simplemente gira.

Estoy pensando simplemente en eliminar el AddHeader que especifica la longitud del contenido, porque cuando lo hago todo parece funcionar bien, pero me preocupa que no esté entendiendo algo.

¿Puedo eliminar este AddHeader o debo averiguar una mejor manera de solucionar este problema?

¿Fue útil?

Solución

Cambie la línea de longitud de contenido a lo siguiente:

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

Otros consejos

Su aplicación DEBE (desplazamiento hasta Contenido-Longitud) defínalo, sin embargo, no es estrictamente necesario.

Aquí hay una discusión decente de posibles opciones.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top