Trabajo original: posible_Y, descargado de Times Classroom
Ingrese directamente la ruta URL de un archivo doc, xls o jpg en la barra de direcciones del navegador, y el archivo se mostrará directamente en el navegador. En muchos casos, esperamos que aparezca directamente un cuadro de mensaje de descarga para que los usuarios lo descarguen. Hay dos métodos aquí:
1. Configure el iis de su servidor y los sufijos de mapas como doc.
2. Establezca su tipo de contenido al enviarlo al cliente.
El método 2 se explica en detalle a continuación
<%.
Respuesta.Buffer = verdadero
Respuesta. Borrar
URL oscura
Dim fso,fl,flsize
nombreDim
Dim objStream,ContentType,flName,isre,url1
'****************************************** se pasa al llamar al archivo de descarga nombre
Nombre=recortar(solicitud("n"))
'************************************************ * ****************
Si Nombre<>"" Entonces
'******************************Directorio del servidor donde se almacenan los archivos descargados
url=server.MapPath("/")&""&Dnombre
'************************************************ * *
Finalizar si
se establece fso=Server.CreateObject("Scripting.FileSystemObject")
Establecer fl=fso.getfile(url)
flsize=fl.tamaño
flName=fl.nombre
Establecer fl=Nada
Establecer fso=Nada
%>
<%
Establecer objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Tipo = 1
URL objStream.LoadFromFile
Seleccione Caso lcase(Derecha(flName, 4))
Caso ".asf"
Tipo de contenido = "vídeo/x-ms-asf"
Caso ".avi"
Tipo de contenido = "vídeo/avi"
Caso ".doc"
ContentType = "aplicación/msword"
Caso ".zip"
ContentType = "aplicación/zip"
Caso ".xls"
ContentType = "aplicación/vnd.ms-excel"
Caso ".gif"
Tipo de contenido = "imagen/gif"
Caso ".jpg", "jpeg"
Tipo de contenido = "imagen/jpeg"
Caso ".wav"
Tipo de contenido = "audio/wav"
Caso ".mp3"
Tipo de contenido = "audio/mpeg3"
Caso ".mpg", "mpeg"
Tipo de contenido = "vídeo/mpeg"
Caso ".rtf"
Tipo de contenido = "aplicación/rtf"
Caso ".htm", "html"
Tipo de contenido = "texto/html"
Caso ".txt"
ContentType = "texto/sin formato"
Caso más
ContentType = "aplicación/flujo de octetos"
Finalizar selección
Response.AddHeader "Disposición de contenido", "adjunto; nombre de archivo=" & flName
Response.AddHeader "Contenido-Longitud", flsize
Response.Charset = "UTF-8"
Response.ContentType = ContentType
Response.BinaryWrite objStream.Read
Respuesta.Flush
respuesta.Borrar()
objStream.Cerrar
Establezca objStream = Nothing
%>
Guarde lo siguiente en download.asp y luego podrá usar <a herf=" http://www.downcodes.com/download.asp?n=file.doc">descargar!</ a > Para descargar file.doc en el mismo directorio.
Pero aquí hay un problema: no es seguro escribir la ruta file.doc directamente en la URL, por lo que la solución debería ser guardar la ruta file.doc en la base de datos. la base de datos, puede obtener la ruta
si agrega un juicio al principio de este programa:
if instr(Request.ServerVariables("HTTP_REFERER"),"http://su nombre de dominio")=0 entonces.
Respuesta.Fin
end if
puede evitar que otros roben enlaces.