Content-Disposition: Quais são as diferenças entre “inline” e “attachment”?

Quais são as diferenças entre

Response.AddHeader("Content-Disposition", "attachment;filename=somefile.ext") 

e

 Response.AddHeader("Content-Disposition", "inline;filename=somefile.ext") 

Eu não sei as diferenças, porque quando eu uso um ou outro eu sempre recebo uma janela solicitando que eu baixe o arquivo para os dois. Eu li as especificações, mas é sem noção.

Porque quando eu uso um ou outro eu recebo uma janela solicitando que eu baixe o arquivo para os dois.

Esse comportamento depende do navegador e do arquivo que você está tentando veicular. Com inline, o navegador tentará abrir o arquivo no navegador.

Por exemplo, se você tiver um arquivo PDF e o Firefox / Adobe Reader, uma disposição inline abrirá o PDF no Firefox, enquanto o anexo o obrigará a fazer o download.

Se você estiver veiculando um arquivo .ZIP, os navegadores não poderão exibi-lo imediatamente. Assim, para as disposições in-line e de anexos, o arquivo será baixado.

Se estiver em linha, o navegador deve tentar renderizá-lo na janela do navegador. Se não puder, recorrerá a um programa externo, avisando o usuário.

Com o anexo, ele irá imediatamente para o usuário e não tentará carregá-lo no navegador, seja ele possível ou não.

Também pode valer a pena mencionar que inline tentará abrir Documentos do Office (xls, doc etc) diretamente do servidor, o que pode levar a um Prompt de Credenciais do Usuário.

veja este link:

http://forums.asp.net/t/1885657.aspx/1?Access+the+SSRS+Report+in+excel+format+on+server

alguém tentou entregar um Relatório do Excel a partir do SSRS via ASP.Net -> o usuário sempre era solicitado a inserir as credenciais. Depois de clicar em cancelar no prompt, ele seria aberto de qualquer maneira …

Se a disposição de conteúdo estiver marcada como anexo, ela será salva automaticamente na pasta temporária após clicar em abrir e abrir no Excel a partir da cópia local.