Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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 =)
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
'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
Rs.MoveNext
Wend
Response.Write "</table>"
'Fechando os objetos!
Rs.Close
Set Rs = Nothing
Set objPasta = Nothing
Set objFSO = Nothing
%>
espero que te sirva...