25 de maio de 2008

Força Download com ASP

Developer | 5 Comentários »
por Ricardo José Corrêa

Alguns arquivos colocados para download são um suplício, pricipalmente aqueles que abrem diretamente no navegador com outros programas monstros por trás, exemplo: PDF e DOC.

Mas o que fazer? Deixar o arquivo compactado para download? Isso não é solução, é quebra galho.

Que tal um script em ASP que força o download de todos os arquivos?

É esse ai:

download.asp?arquivo=nomedoarquivo

<%
arquivo = request("arquivo")
Response.Buffer=true
On Error Resume Next
Dim tfm_downloadStream
Set tfm_downloadStream = Server.CreateObject("ADODB.Stream")
tfm_downloadStream.Type = 1
tfm_downloadStream.Open
tfm_downloadStream.LoadFromFile Server.Mappath(arquivo)
If Err.number = 0 Then
Response.Clear
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename="+arquivo
Response.AddHeader "Content-Transfer-Encoding","binary"
Response.BinaryWrite tfm_downloadStream.Read
tfm_downloadStream.Close
Set tfm_downloadStream = Nothing
Response.End()
Else
tfm_downloadStream.Close
Set tfm_downloadStream = Nothing
Response.write("Arquivo não encontrado")
End If
%>

Leia também:

  1. Hack nunca mais: resete seu CSS com Trípoli

Você pode deixar um comentário, ou trackback de seu próprio site.

5 comentários para “Força Download com ASP”

  1. Gil falou:

    Para onde o arquivo forçado e baixado?

  2. Douglas falou:

    Parabens!! Nota 10!
    Eu estava tentando desenvolver algo parecido mais não funcionava!!
    muiito obrigado!

  3. Ricardo José Corrêa falou:

    O arquivo vai para onde o usuário salvar, normal.

  4. Maximiliano falou:

    olá amigo, e como eu ativo esse script

  5. Maximiliano falou:

    olá, na realidade estou com dificuldade de dizer o caminho até o arquivo pois ele está em outro diretório

Deixe um comentário