Tengo una página que genera un archivo dinámico para descargar y lo envía al cliente mediante Response.BinaryWrite.Descarga de archivos ASP.NET Response.BinaryWrite bloqueados con SSL
Todo parece funcionar bien, excepto cuando lo trasladamos a un servidor de prueba con SSL. La descarga ocurre en una nueva ventana, y lo que estoy viendo (en IE7/8 pero no en Chrome o FF) es que la pestaña se abre y se cierra, pero no se muestra File Dialogue.
Aquí está la escritura cabecera completa:
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()
Estaba seguro de que mi problema era lo que se mencionó here,
Pero mi heade de control de caché es correcta. Alguna idea?
¿Quizás duplicado? http://stackoverflow.com/questions/419868/file-download-dialog-ie7-disappears –
No vi esa publicación, pero el enlace que proporcioné es similar. En su pregunta, no especificó el encabezado de control de caché como cualquier cosa, lo que estaba causando su problema. En el mío, estoy especificando el control de caché como privado, lo que debería funcionar. – Gaidin
Su vencimiento: 0 o Pragma puede ser el culpable. Debes considerar eliminarlos. – EricLaw