¿Cuáles son las diferencias entre
Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext")
y
Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext")
No sé las diferencias, porque cuando uso uno u otro siempre recibo un mensaje de ventana que me pide que descargue el archivo para ambos. Leí las especificaciones, pero no tiene idea.
asp.net
http-headers
Cleiton
fuente
fuente
Respuestas:
Este comportamiento depende del navegador y el archivo que está tratando de servir. Con inline, el navegador intentará abrir el archivo dentro del navegador.
Por ejemplo, si tiene un archivo PDF y Firefox / Adobe Reader, una disposición en línea abrirá el PDF dentro de Firefox, mientras que el archivo adjunto lo obligará a descargar.
Si está sirviendo un archivo .ZIP, los navegadores no podrán mostrarlo en línea, por lo que para las disposiciones en línea y adjuntos, el archivo se descargará.
fuente
Si está en línea, el navegador debe intentar representarlo dentro de la ventana del navegador. Si no puede, recurrirá a un programa externo, lo que indicará al usuario.
Con el archivo adjunto, irá inmediatamente al usuario y no intentará cargarlo en el navegador, ya sea que pueda o no.
fuente
También vale la pena mencionar que en línea intentará abrir documentos de Office (xls, doc, etc.) directamente desde el servidor, lo que podría conducir a una solicitud de credenciales de usuario.
ver este enlace:
http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server
alguien trató de entregar un Informe Excel de SSRS a través de ASP.Net -> al usuario siempre se le pedía que ingresara las credenciales. Después de hacer clic en cancelar en el mensaje, se abrirá de todos modos ...
Si la Disposición de contenido está marcada como Adjunto, se guardará automáticamente en la carpeta temporal después de hacer clic en abrir y luego abrir en Excel desde la copia local.
fuente