|
|
|

|

|
Dicas
|

|
ASP - Active Server Page (Miscelâneas)
|
|
 |
Título da Dica: Download de Arquivos TXT
|
 |
|
|
Postada em 17/10/2003 por ^HEAVY-METAL^
Muitos já passaram por esta situação: O cliente deseja que alguns arquivos txt sejam disponibilizados em seu site para download, então o que a maioria do pessoal faz? Simplesmente, coloca uma mensagem ao lado do link dizendo para clicar com o botão direito e selecionar Salvar Destino como. No meu caso, eu não poderia fazer simplesmente isso e vou explicar a vocês o que foi feito. Sabemos que o IIS e outros servidores WEB, enviam no cabeçalho HTTP o Content-type de arquivos txt como text/plain, o browser, identificando o content-type desta maneira, então somente exibe o arquivo.
Até este ponto, resolvemos apenas uma parte do problema, pois sabemos que sempre que um arquivo txt for requisitado ao servidor, devemos alterar o content-type para octet-stream, forçando o browser a fazer o download do arquivo. Poderíamos fazer isto através da página asp com o comando:
Response.AddHeader("Content-type: Application/Octet-Stream") <!--#include file="arquivo.txt"-->
Mas ao fazermos isto, o browser vai forçar o download, mas o nome do arquivo que ele vai trazer por padrão no diálogo de Salvar Como será o nome da página ASP. Após procurar muito no IIS uma forma de alterar o Content-type de um tipo de arquivo sempre que for feita uma requisição ao arquivo, acabei desistindo, até que pensei: - E se o Servidor interpretar um arquivo TXT como um arquivo ASP, isto resolverá muitos dos meus problemas. Foi isto que fiz, nas propriedades do WebServer, na Aba ISAPI Filters, ele pode definir o tipo de arquivo, e por qual executavel ele será interpretado. Depois disso foi simples, defini para que arquivos txt fossem interpretados pela mesma Dll que interpreta arquivos ASP (ASP.DLL), e depois adicionei em todos arquivos TXT (Manualmente e dinâmicamente) as seguintes linhas:
<% Response.AddHeader("Content-type: Application/Octet-stream") %>
Pronto, sempre que um cliente clicar no link para o arquivo txt, se abrirá o diálogo Salvar como para o download de arquivos.
T+,
|
|
|
|

|