Question

I'm reviewing some legacy code and I've found a bug that causes the response to sit indefinitely.

Here's the basic idea:

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

The problem is that someStoredLength is much larger than the actual size of someByteArray, so the client just sits there waiting for the file download while the browser just spins.

I'm contemplating just removing the AddHeader that specifies the content length, because when I do that everything seems to work fine, but I'm worried that I'm not understanding something.

Is it ok for me to remove this AddHeader or should I figure out a better way to deal with this problem?

Was it helpful?

Solution

Change the Content-Length line to the following:

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

OTHER TIPS

Your application SHOULD (scroll down to Content-Length) define it, however, it's not strictly required.

Here's a decent discussion of possible options.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top