c# - sesion - La descarga de PDF no muestra el mensaje "No se pudo descargar" solo en IE11
lo sentimos no hemos encontrado puede ser que lo haya movido eliminado (4)
Utilizo ASP.NET con formularios web, algo que debería ser realmente fácil me está volviendo loco, me han formulado preguntas similares, pero ninguna me ayudó, IE se niega a descargar mis archivos.
Cosas a tener en cuenta:
- Estoy probando localmente
- Funciona en Firefox y Chrome pero no en IE11
- IE cambia el nombre del archivo al nombre de la página (por ejemplo, intenta guardar default_aspx en lugar de myfile.pdf)
Este es mi código:
Response.ClearHeaders();
Response.ClearContent();
Response.ContentType = "Application/pdf";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
Response.BinaryWrite(buffer);
Response.End();
Estos son los encabezados que recibí de IE:
Valor clave
Respuesta HTTP / 1.1 200 OK
Cache-Control privado
Aplicación de tipo de contenido / PDF
Servidor Microsoft-IIS / 7.5
Adjunto contenido-disposición; nombre_archivo = miarchivo.pdf
X-AspNet versión 4.0.30319
X-Powered-by ASP.NET
Fecha viernes, 10 de abril de 2015 22:44:40 GMT
Contenido-Longitud 691892
ACTUALIZAR
Parece que este es un problema de configuración del servidor porque el mismo código funcionará bien en mi servidor de producción pero no en mi servidor de desarrollo. Así que mi cliente no se quejará de esto, de todos modos quiero solucionarlo en mi entorno de desarrollo, tan pronto como tenga tiempo, investigaré un poco más, si encuentro una solución, la publicaré aquí.
Esta no es la respuesta exacta, pero espero que pueda abrir algunas formas para encontrar la exacta.
Mientras buscaba en Google, encontré que esto puede deberse a una versión de actualización de seguridad de Microsoft para IE.
Microsoft lanzó una actualización de seguridad para IE11 el 8 de julio de 14 que tiene un error que afecta la descarga.
Y aquí está el enlace de Microsoft Connect que lo menciona en estado activo .
Por favor, comparta la solución exacta una vez que la encuentre.
¡¡Aclamaciones!!
Hago algo similar en mi propia aplicación. Intente eliminar el encabezado de content-disposition
y cambie Application/pdf
a application/pdf
. También es probable que no necesites Response.End()
, aunque dudo que sea la causa del problema.
He tenido problemas similares en el pasado, trataría de establecer explícitamente la longitud del contenido de la respuesta.
Response.AddHeader("Content-Length", buffer.Length.ToString())
Tuvimos un problema similar en ie8 el problema es que el archivo se busca en el caché y no se encuentra. Para probar esto, configure Cache-Control: no-cache en su objeto de respuesta.