Ir para conteúdo

POWERED BY:

Arquivado

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

Vi =)

Como fazer uma página que possa disponibilizar arquivos para download?

Recommended Posts

Gostaria de disponibilizar alguns arquivos em PDF para download no meu site. Colocando so o nome do arquivo no link, ele abre na propria janela do navegador. E isso nao é o que eu quero. Gostaria que abrisse aquela janelinha de Salvar sabe?

 

Consegui um codigo em php para isso, porem nao consegui usar pois na locahost onde hospedo so aceita codigos em asp.

 

se for util, aqui esta o codigo em php:

 

download.php

<?php
$fileName = $_GET['file'];
$fileName = str_replace("../","",$fileName);
$file= "PDFs/".$fileName;

header("Content-Type: application/octet-stream");
header("Content-Length:".filesize($file));
header("Content-Disposition: attachment; filename='". $fileName .'");
header("Content-Transfer-Encoding: binary");
header("Expires: 0");
header("Pragma: no-cache");

$fp = fopen($file, "r");
fpassthru($fp);
fclose($fp);
?>

e os links:

<a href="download.php?file=CAT-EA3600.pdf">EA3600</a>

alguem poderia me ajudar com um codigo que tivesse essa mesma funcionalidade mas em asp?

 

Obrigadoo =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, tenho esse script abaixo. Funciona muito bem aqui:

 

<%Session.LCID = 1046%>
<% 
'Declara as variáveis a serem usadas
Dim objPasta, Folder, Files, ObjFSO, objRootFolder 
'Primeiro vamos abrir um objeto FSO
Set objFSO = Server.CreateObject ( "Scripting.FileSystemObject" )

'Agora pegamos a pasta com as imagens!
Set objPasta = objFSO.GetFolder ( Server.Mappath("pasta") )

Set objFolder = ObjFSO.GetFolder(objPasta)



'Vamos criar um recordset agora!
'Ele que vai ter o trabalho de ordenar os arquivos!
Set Rs = Server.CreateObject ( "ADODB.RecordSet" )

'Vamos adicionar 2 campos nesse recordset!
'O método Append recebe 3 parâmetros:
'Nome do campo, Tipo, Tamanho (opcional)
'O tipo pertence à um DataTypeEnum, e você pode conferir os tipos em
'http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdcstdatatypeenum.asp
'200 -> VarChar (String), 7 -> Data
Rs.Fields.Append "nome", 200, 255
Rs.Fields.Append "data", 7

'Vamos abrir o Recordset!
Rs.Open

Response.Write "<table border='1' bordercolor='#00CCCC' cellpadding=2 cellspacing=0 width='70%' style='font-family: Tahoma, Arial; font-size: 11px; color:#666666' align='center'>"
Response.Write " <tr style='background: #00CCCC'>"
Response.Write " <td><b>Arquivo</b></td>"
Response.Write " <td><b>Data</b></td>"
Response.Write " <td><b>Download</b></td>"
Response.Write " </tr>"

'Temos que percorrer agora todos os arquivos e jogar na nossa tabela virtual!
For Each Arquivo In ObjPasta.Files

Rs.AddNew 
Rs.Fields("nome").Value = Arquivo.Name
Rs.Fields("data").Value = Arquivo.DateLastModified

Next

'Todos os arquivos no recordset, agora vamos ordená-lo!
'Da maior data para a menor!
Rs.Sort = "data desc"

'Pronto! Agora temos os arquivos todos em ordem em nosso recordset! Vamos exibi-los!
Rs.MoveFirst
While Not Rs.EoF
Response.Write " <tr>"
Response.Write "<td class='espacamento'><img src='86.gif'>" & rs.fields("nome").value & "</a></td>"
Response.Write "<td align='center'>" & rs.fields("data").value & "</td>"
Response.Write " <td align='center'><a href=download.asp?path="& objPasta &"\&arquivo="& rs.fields("nome").value & "'>Download</a></td>"
Response.Write "</tr>"

Rs.MoveNext 
Wend
Response.Write "</table>"

'Fechando os objetos!
Rs.Close
Set Rs = Nothing

Set objPasta = Nothing
Set objFSO = Nothing

%>

espero que te sirva...

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.