Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

rodizs

Download de arquivos

Recommended Posts

Boa tarde amigos.Seguinte estou com o seguinte zubrema.Tenho uma pagina asp que tem links para arquivos .pdf, eu preciso que quando o usuario clicar no link aparece aquela tela do windows para download do arquivo.Não quero que o arquivo abra no navegador mas sim de a opção para o usuario fazer o download.Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%'mostra via servidor que o response.addheader será aplicado para downloadresponse.AddHeader "Content-Type","application/x-msdownload"'mostramos o arquivo que será feito o download, independente de sua extensão'usaremos no exemplo: arquivo.pdfresponse.AddHeader "Content-Disposition","attachment; filename=arquivo.pdf"Response.FlushResponse.Buffer = TrueConst adTypeBinary = 1'leremos abaixo o arquivo em modo binário através do ADODBSet binario = Server.CreateObject("ADODB.Stream")binario.Openbinario.Type = adTypeBinary'Informe aqui o caminho completo do arquivo no servidor' Se preferir, use Server.MapPath("arquivo.pdf")binario.LoadFromFile Server.MapPath("arquivo.pdf")Response.BinaryWrite binario.Readbinario.CloseSet binario = NothingResponse.Flush%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom então da uma olhada neste codigo porque acho que estou fazendo da maneira correta, mas mesmo assim não funciona

 

 

Sub getArquivo(id)Response.Buffer = True'======================='ALTERA O CONTENT-TYPE'=======================Response.ContentType = "application/pdf"'======================='CRIA O OBJETO ADODB.STREAM'=======================Set ObjStr = Server.CreateObject("ADODB.Stream")'======================='SETA PARA OBJETO BINÁRIO'=======================ObjStr.Type = 1 'Binary'======================='ABRE O OBJETO'=======================ObjStr.Open'======================='LE AS INFORMAÇÕES BINÁRIAS DO ARQUIVO'=======================	conn  StrSQL = "SELECT nomeArquivo,diretorio FROM arquivos WHERE id_arquivo="&id&""  rec3  if not objrs3.eof then 	 dim obj,arquivo 	 Set obj = Server.CreateObject("Scripting.FileSystemObject")arquivo = fisico&"intra\files\"&objrs3("diretorio")&"\"&objrs3("nomeArquivo")  end if	ObjStr.LoadFromFile arquivo'======================='PASSA AS INFORMAÇÕES BINÁRIA PARA UMA VARIAVEL'=======================strBinary  = ObjStr.Read'======================='DESTROI O OBJETO'======================='ObjStr.CloseSet ObjStr = Nothing'======================='ESPIRRA O OBJETO NO NAVEGADOR'=======================Response.BinaryWrite  strBinary'.ReadResponse.Endend sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

<%

'mostra via servidor que o response.addheader será aplicado para download

response.AddHeader "Content-Type","application/x-msdownload"

 

'mostramos o arquivo que será feito o download, independente de sua extensão

'usaremos no exemplo: arquivo.pdf

response.AddHeader "Content-Disposition","attachment; filename=arquivo.pdf"

Response.Flush

 

Response.Buffer = True

Const adTypeBinary = 1

 

'leremos abaixo o arquivo em modo binário através do ADODB

Set binario = Server.CreateObject("ADODB.Stream")

binario.Open

binario.Type = adTypeBinary

 

'Informe aqui o caminho completo do arquivo no servidor

' Se preferir, use Server.MapPath("arquivo.pdf")

binario.LoadFromFile Server.MapPath("arquivo.pdf")

Response.BinaryWrite binario.Read

 

binario.Close

Set binario = Nothing

Response.Flush

%>

<{POST_SNAPBACK}>

 

 

 

 

 

 

 

 

 

da um olhada no codigo

 

Sub getArquivo(id)Response.Buffer = True'======================='ALTERA O CONTENT-TYPE'=======================Response.ContentType = "application/pdf"'======================='CRIA O OBJETO ADODB.STREAM'=======================Set ObjStr = Server.CreateObject("ADODB.Stream")'======================='SETA PARA OBJETO BINÁRIO'=======================ObjStr.Type = 1 'Binary'======================='ABRE O OBJETO'=======================ObjStr.Open'======================='LE AS INFORMAÇÕES BINÁRIAS DO ARQUIVO'=======================conn StrSQL = "SELECT nomeArquivo,diretorio FROM arquivos WHERE id_arquivo="&id&"" rec3 if not objrs3.eof then  dim obj,arquivo  Set obj = Server.CreateObject("Scripting.FileSystemObject")arquivo = fisico&"intra\files\"&objrs3("diretorio")&"\"&objrs3("nomeArquivo") end if ObjStr.LoadFromFile arquivo'======================='PASSA AS INFORMAÇÕES BINÁRIA PARA UMA VARIAVEL'=======================strBinary  = ObjStr.Read'======================='DESTROI O OBJETO'======================='ObjStr.CloseSet ObjStr = Nothing'======================='ESPIRRA O OBJETO NO NAVEGADOR'=======================Response.BinaryWrite  strBinary'.ReadResponse.Endend sub

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.