Al vincular documentos en IE, si encuentra un documento compatible con OLE, IE llamará automáticamente al programa correspondiente para abrirlo. A veces esta función no es lo que necesitamos, aunque podemos recordarle al usuario que haga clic con el botón derecho del mouse-->. guardar destino como... comando para descargar documentos, pero esto no es muy amigable después de todo. Este artículo describe el uso de los métodos FSO y Stream para implementar la descarga directa de documentos por parte de IE. <%@ idioma=página de códigos vbscript=65001%>
<%
'Se debe ingresar el nombre del archivo
si Solicitud (nombre de archivo) = entonces
Response.write <h1>Error:</h1>¡El nombre de archivo está vacío!<p>
demás
llamar a descargarArchivo(reemplazar(reemplazar(Solicitud(nombre de archivo),/,),/,))
Función descargarArchivo(strFile)
'Asegúrate de tener la última versión de MDAC para que esto funcione.
'obtiene la ruta completa del archivo especificado
strFilename = servidor.MapPath(strFile)
'borrar el buffer
Respuesta.Buffer = Verdadero
Respuesta.Borrar
' crear flujo
Establecer s = Server.CreateObject(ADODB.Stream)
s.Abierto
'Establecer como binario
s.Tipo = 1
' cargar en el archivo
en caso de error reanudar siguiente
'comprobar que el archivo existe
Establecer fso = Server.CreateObject(Scripting.FileSystemObject)
si no es fso.FileExists(strFilename) entonces
Response.Write(<h1>Error:</h1>&strFilename& no existe!<p>)
Respuesta.Fin
terminar si
'obtener la longitud del archivo
Establecer f = fso.GetFile(strFilename)
intFilelength = f.tamaño
s.LoadFromFile(strFilename)
si te equivocas entonces
Response.Write(<h1>Error: </h1>¡Error desconocido!<p>)
Respuesta.Fin
terminar si
' envía los encabezados a los usuarios Examinar
Response.AddHeader Contenido-Disposición, archivo adjunto = &f.name;
Response.AddHeader Contenido-Longitud, intFilelength
Respuesta.CharSet = UTF-8
Response.ContentType = aplicación/flujo de octeto
'enviar el archivo al navegador
Respuesta.BinaryWrite y.Read
Respuesta.Flush
'ordenar
s.Cerrar
Establecer s = Nada
Función final
terminar si
%>