USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  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+,
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página