Como enviar archivos binarios al browser del cliente

Para este caso vamos a enviar una imagen jpg que se encuentra previamente en alguna carpeta que se tiene acceso desde el servidor. (revisar acceso de los usuarios anónimos IURS_nombreservidor e IWAM_nombreservidor).


 


Vamos a utilizar el objeto ADODB.Stream que nos estrega la funcionalidad de devolver archivos binarios.


 


<%


‘Seteamos el tipo de contenido que vamos a enviar, en este caso una imagen.


Response.ContentType = “image/jpge”


 


Dim RutaArchivo


 


RutaArchivo = “C:\..\imagen.jpg”


 


Set objStream = Server.CreateObject(“ADODB.Stream”)


    objStream.Open


    objStream.Type = 1    ‘tipo binario


    objStream.LoadFromFile RutaArchivo


 


    Response.BinaryWrite objStream.Read


 


    objStream.Close


Set objStream = Nothing


%>

Como enviar correos

Una consulta muy recurrente en los grupos de noticias tiene relación con el envío de correos. Para esto se puede utilizar el componente CDONTS que viene con W2000, WXP y W2003 para que funcione debe estar corriendo el SMTP en el IIS del servidor.


 


Ejemplo:


 



<%


Sub EnviarMail(ByVal CorreoOrigen, ByVal CorreoDestino, ByVal Asunto, ByVal Cuerpo)



   


    Set objMail = Server.CreateObject(“CDONTS.NewMail”)



        objMail.BodyFormat = 0


        objMail.MailFormat = 0



        objMail.Send CorreoOrigen, CorreoDestino, Asunto, Cuerpo



    Set objMail = Nothing


 



End Sub


%> 


Como estructurar una página ASP

Esta es una idea para estructurar una página ASP para que sea más ordenada y entendible, obviamente lo ideal es establecer una estructura principal y centralizar los llamados de los botones que hacen SUBMIT en el formulario, para procesar dichas “Acciones” posteriormente en el Servidor. Con esto simplificarán enormemente el desarrollo.


 


Ejemplo:


 


Estructura Principal de un ASP


 


(Utilizar SIEMPRE Option Explicit)


<%
Option Explicit
Dim Accion     ‘esta será nuestra centralización de las acciones que se realizarán en la página
Accion = Request(“Accion”)
Select Case Accion


    Case “”    ‘Primera vez que se carga la página


    Case “Eliminar”
        Eliminar_Registros


    Case “Modificar”
        Modificar_Registros


    Case “Consultar”
        Consultar_Registros


End Select


Mostrar_HTML


Response.End
%>


 


Luego se deberían crear los procedimiento que nuestra estructura principal realiza los llamados, con esto ya estamos separando el código del servidor con el código HTML que se debe generar al cliente.


 


Ahora tenemos los procedimientos que son mucho más simples:


 

<%
Sub Eliminar_Registros()
    ‘Aqui va el procedimiento para eliminar.
End Sub

Sub Modificar_Registros()
    ‘Modificar registros
End Sub
%>


 


Y ahora mostramos el HTML al cliente.


 


<%
Sub Mostrar_HTML()
%>
    <html>
        <script language=”javascript”>
 /* este script sirve para enviar mediante un campo oculto las
    acciones y centralizarlas en el servidor, por lo tanto todas las llamadas al
    servidor pasar por este item */
            Ejecutar(Accion) {
                document.formulario.Accion.value = Accion;
                document.datos.submit();
            }
        </script>
        <body>
            <form name=”formulario” action=”pagina.asp” method=”post”>


                <!–    CREA UN CAMPO OCULTO LLAMADO Accion PARA CENTRALIZAR LOS LLAMADOS — >
                <input type=”hidden” name=”Accion”>
                …. CODIGO HABITUAL DEL ASP…. con la funcionalidad propia….


                <!– AHORA LOS TIPICOS BOTONES DE LLAMADO, SOLO SON SIMPLE BOTONES Y NO SUBMIT –>
                <input type=”button” name=”Eliminar” Value=”Eliminar” Onclick=”Ejecutar(‘Eliminar’);”>
             …
                <input type=”button” name=”Modificar” Value=”Modificar” Onclick=”Ejecutar(‘Modificar’);”>
                …


                <!– TAMBIEN LO PUEDEN UTILIZAR PARA TENER IMAGENES COMO BOTONES –>
                <a href=”” onclick=”Ejecutar(‘Consultar’);”>Consultar Datos</a>


            </form>
        </body>
    </html>
    <%
End Sub
%>



 

Como rescatar el código fuente de una URL

En otras palabras, como ejecutar alguna página desde ASP (hasta de VB sirve) y obtener su resultado o código fuente.


 


Es muy simple, solo deberías tener Microsoft Parser XML 3.0 o superior, para esto bájalo desde aquí.


 


Con estos componentes puedes ejecutar una página o URL (como si fueras un browser) y el resultado lo traes a una variable.


 


Ejemplo:



 



<%


‘Para invocar el sitio.


URL = “http:/…/pagina.aspx”


Set objServerXMLHTTP = Server.CreateObject(“MSXML2.ServerXMLHTTP.4.0″)


    objServerXMLHTTP.Open “POST”, URL


    objServerXMLHTTP.Send



    Respuesta = objServerXMLHTTP.responseText



Set objServerXMLHTTP = Nothing


%>



 


En la variable Respuesta tienes todo el código o la respuesta realizada de la URL.