asp.net http-headers

asp.net - Contenido-Disposición: ¿Cuáles son las diferencias entre “en línea” y “adjunto”?



http-headers (3)

Porque cuando uso uno u otro, aparece una ventana que me pide que descargue el archivo para ambos.

Este comportamiento depende del navegador y del archivo que intenta servir. Con en línea, 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 adjunto lo forzará 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 de archivos adjuntos, el archivo se descargará.

¿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 una u otra, siempre aparece una ventana que me pide que descargue el archivo para ambas. He leído las especificaciones, pero es despistado.


Si está en línea, el navegador debe intentar renderizarlo dentro de la ventana del navegador. Si no puede, recurrirá a un programa externo, preguntando al usuario.

Con el archivo adjunto, irá de inmediato al usuario y no intentará cargarlo en el navegador, ya sea que pueda o no.


También vale la pena mencionar que Inline intentará abrir Documentos de Office (xls, doc, etc.) directamente desde el servidor, lo que podría llevar 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 intentó entregar un informe de Excel desde SSRS a través de ASP.Net -> el usuario siempre recibió una solicitud para ingresar las credenciales. Después de hacer clic en cancelar en el indicador 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 se abrirá en Excel desde la copia local.