asp.net.netinternet-explorerashxfilehandler

PDF file sometime being displayed as garbage


I am having a user who is reporting that files are being displayed as raw data in his browser. He uses Internet Explorer.

The files are being served via a .ashx handler file and it has been working until.

This is the relevant part of my .ashx handler:

context.Response.Clear()
context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name)
context.Response.AppendHeader("Content-Length", size.ToString)
context.Response.ContentType = "application/pdf"
context.Response.TransmitFile(fullname)
context.Response.Flush()
HttpContext.Current.ApplicationInstance.CompleteRequest()

Can anyone figure something out of this screenshot? enter image description here

Update: this behaviour appears on Windows 10 when running either IE 11 or Edge and only the second time a file is being opened. It happens for both .pdf and .docx files.


Solution

  • I finally found the answer myself - it had to do with the HTTP header content-length which i mistakenly submitted with a value exactly 1byte too large.

    This caused the strange behavior in only IE/Edge and only Windows 10 as described in the OP.