Que o Internet Explorer foi feito na mais sombria forja do inferno onde nem mesmo o próprio príncipe das trevas ousa chegar perto todo mundo sabe. Mas para alguns de nós que não consegue se livrar dessa maldição e tem que exibir um PDF no Internet Explorer 6 vai ai algumas dicas.
- O Internet Explorer 6 nunca faz o que você manda e excuta algum tipo de magia negra para descobrir o tipo mime do arquivo, inclusive olhar a url, então adicionar “?arq=arquivo.pdf” ao final de sua URL.
- Não tente utilizar o cabeçalho “Pragma: No-cache”, adicinar o ccabeçalho “Pragma: No-cache” faz com que o resto dos cabeçalhos sejam ignorados. Adicione um valor aleatório no final da URL para evitar cachê (Sim eu sei isso é uma droga).
- O cabeçalho “Content-Disposition” faz com sempre abra o dialogo “Salvar aquivo como”, mesmo quando é usado o parametro inline.
Código C# que funcina no Firefox e Internet Explorer 6:
protected void Page_Load(object sender, EventArgs e)
{
StreamReader ms = new StreamReader(“arquivo.pdf”).
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader(“Accept-Header”, ms.Length.ToString());
Response.AddHeader(“Content-Length”, ms. Length.ToString());
Response.ContentType = @”application/pdf”;
Response.BinaryWrite(ms.ToArray());
Response.Flush();
ms.Close();
Response.End();
}