Trabalho original: Possible_Y, baixado do Times Classroom
Insira diretamente o caminho da URL de um arquivo doc, xls ou jpg na barra de endereço do navegador e o arquivo será exibido diretamente no navegador. Em muitos casos, esperamos abrir diretamente uma caixa de solicitação de download para os usuários fazerem o download. Existem dois métodos aqui:
1. Configure o iis do seu servidor e sufixos de mapa, como doc
2. Defina seu tipo de conteúdo ao enviar para o cliente.
O método 2 é explicado detalhadamente abaixo
<%.
Resposta.Buffer = verdadeiro
Resposta.Limpar
URL escuro
Dim fso,fl,flsize
dimDname
Dim objStream,ContentType,flName,isre,url1
'****************************************** é passado ao chamar o arquivo de download nome
Dnome=trim(solicitação("n"))
'********************************************** ****************
Se Dnome<>"" Então
'******************************Diretório do servidor onde os arquivos baixados são armazenados
url=server.MapPath("/")&""&Dname
'********************************************** *
Fim se
definido fso=Server.CreateObject("Scripting.FileSystemObject")
Definir fl=fso.getfile(url)
flsize=fl.tamanho
flNome=fl.nome
Definir fl=Nada
Definir fso=Nada
%>
<%
Definir objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = 1
url objStream.LoadFromFile
Selecione Caso lcase(Right(flName, 4))
Caso ".asf"
ContentType = "vídeo/x-ms-asf"
Caso ".avi"
ContentType = "vídeo/avi"
Caso ".doc"
ContentType = "aplicativo/msword"
Caso ".zip"
ContentType = "aplicativo/zip"
Caso ".xls"
ContentType = "aplicativo/vnd.ms-excel"
Caso ".gif"
ContentType = "imagem/gif"
Caso ".jpg", "jpeg"
ContentType = "imagem/jpeg"
Caso ".wav"
ContentType = "áudio/wav"
Caso ".mp3"
ContentType = "áudio/mpeg3"
Caso ".mpg", "mpeg"
ContentType = "vídeo/mpeg"
Caso ".rtf"
ContentType = "aplicativo/rtf"
Caso ".htm", "html"
ContentType = "texto/html"
Caso ".txt"
ContentType = "texto/simples"
Outro caso
ContentType = "aplicativo/fluxo de octetos"
Finalizar seleção
Response.AddHeader "Disposição de conteúdo", "anexo; nome do arquivo = "& flName
Response.AddHeader "Comprimento do conteúdo", flsize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Resposta.Flush
resposta.Clear()
objStream.Fechar
Defina objStream = Nothing
%>
Salve o seguinte em download.asp e então você pode usar <a herf=" http://www.downcodes.com/download.asp?n=file.doc">download!</ a > Para baixar o arquivo.doc no mesmo diretório!
Mas há um problema aqui: não é seguro escrever o caminho do arquivo.doc diretamente na URL, então a solução deve ser salvar o caminho do arquivo.doc no banco de dados. o banco de dados, você pode obter o caminho
se adicionar um julgamento na frente deste programa:
if instr(Request.ServerVariables("HTTP_REFERER"),"http://your domain name")=0 then.
Resposta.Fim
end if
pode muito bem impedir que outros roubem links.