I have a page that generates a dynamic file for download, and sends it to the client using Response.BinaryWrite.
Everything seems to work fine, except when we moved it to a test server with SSL. The download happens in a new window, and what I’m seeing (in IE7/8 but not chrome or FF) is the tab opens, and closes, but no File Dialogue is shown.
Here’s the complete header write:
Response.Clear()
Response.Buffer = True
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Length", abytFileData.Length.ToString)
Response.AddHeader("cache-control", "private")
Response.AddHeader("Expires", "0")
Response.AddHeader("Pragma", "cache")
Response.AddHeader("content-disposition", "attachment; filename=""" & pMsg!pstrFileName & """")
Response.AddHeader("Accept-Ranges", "none")
Response.BinaryWrite(abytFileData)
Response.Flush()
Response.End()
I thought for sure that my problem was what was mentioned here,
But my cache-control heade is correct.
Any ideas?
I’ve encountered the same problem and after some degree of investigation I found an article on codeproject suggesting that the download is being blocked by IE security settings. If you go to Tools->Internet Options->Security Tab and look at the Download options for the zone you are accessing, you need to change the “Automatic prompting for file downloads” to be Enabled. The “Internet” zone default setting for this is Disabled. Here’s the link to the article I mentioned: http://www.codeproject.com/KB/aspnet/SecureFileDownload.aspx