Script de arquivo de download do ASP Classic
Eu tenho um site sendo construído em ASP clássico e estou tendo alguns problemas com um script que permite que um usuário baixe um arquivo, mas esconde o caminho para o arquivo.
Quando um usuário está em uma página, ele verá um link. O link é codificado assim:
<a href="download.asp?file=FILE-NAME-HERE" target="_blank">Download File</a>
Este link os leva para download.asp onde o código é executado para obter o arquivo e entregá-lo. Aqui está o código que tenho agora:
<%
const adTypeBinary = 1
dim strFilePath, strFile
strFilePath = "/_uploads/private/"
strFile = Request.QueryString("file")
if strFile <> "" then
'Set the content type to the specific type that you are sending.
Response.ContentType = "application/octet-stream"
Response.AddHeader "Content-Disposition", "attachment; filename=" & strFile
set objStream = Server.CreateObject("ADODB.Stream")
objStream.open
objStream.type = adTypeBinary
objStream.LoadFromFile(strFilePath & strFile)
response.binarywrite objStream.Read
objStream.close
Set objStream = nothing
end if
%>
Este código eu juntei de ambas as perguntas neste site (Como baixar os arquivos usando o vbscript no asp clássico), e dehttp://support.microsoft.com/kb/276488
O que está acontecendo, no entanto, é que a página download.asp está me dando um erro "arquivo não encontrado", mesmo que o arquivo esteja corretamente no diretório da web "/ _uploads / private /".
O tipo de arquivo pode ser um dos vários, incluindo pdf, xls, docx etc.
Existe algo no meu código que não está permitindo que o arquivo seja encontrado?