Leer y mostrar datos binarios en ASP mediante ServerXMLHTTP

En este artículo se muestra cómo leer y mostrar datos binarios en páginas de Active Server (ASP) mediante ServerXMLHTTP.

Versión del producto original: Internet Information Services
Número de KB original: 303982

Resumen

ServerXMLHTTP proporciona métodos y propiedades para el acceso HTTP seguro para el servidor entre distintos servidores web. Puede usar este objeto para intercambiar datos binarios entre estos servidores a través de ASP.

Más información

La página ASP recibe y, a continuación, muestra los datos binarios mediante el tipo de extensiones de correo multipropósito de Internet (MIME). Por ejemplo, para .gif imágenes, cambie el tipo MIME mediante lo siguiente:

Response.ContentType = "image/gif"

Nota:

En el caso de los archivos de Adobe Acrobat, use application/pdfo para .jpg imágenes, use image/jpg.

El comportamiento predeterminado de los tipos MIME es abrir el documento en Microsoft Internet Explorer. Al agregar el código siguiente se pide al usuario que guarde el archivo o abra el archivo con el programa asociado:

Content-disposition: attachment; filename=fname.ext

Para obtener más información, vea Cómo generar un cuadro de diálogo Descarga de archivos para un tipo MIME conocido.

Los pasos siguientes muestran cómo usar ServerXMLHTTP para transmitir un archivo .jpg al explorador. ServerXMLHTTP recupera una respuesta XML de una página ASP a través de HTTP. Mediante GET, el ejemplo envía una solicitud sin transferir ningún dato al servidor web. En el ejemplo se escribe esta respuesta en la salida del explorador informando primero al explorador de que la respuesta es una imagen (image/jpg) y, a continuación, pasando la respuesta directamente desde el objeto Response para mostrarla en pantalla.

  1. Cree una página ASP y pegue el código siguiente en la página:

    <%@ Language=VBScript %>
    <%
    Response.ContentType = "image/jpeg"
    ' Uncomment to prompt user for download or run with associated program.
    ' Response.AddHeader "content-disposition","attachment;filename=ReadMe.jpg"
    Set objHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP")' Point to an image file with adequate access permissions granted
    objHTTP.open "GET", "http://servername/picture.jpg",false
    objHTTP.send
    Response.BinaryWrite objHTTP.ResponseBody
    Set objHTTP = Nothing
    %>
    
  2. Guarde el archivo en el servidor web.

  3. Busque el archivo .

Cuando use el ServerXMLHTTP objeto , tenga en cuenta lo siguiente:

  • Debido a problemas de subproceso, la página ASP y el archivo al que se accede deben estar en diferentes carpetas virtuales.
  • El analizador MSXML 3.0 o posterior debe instalarse en el servidor y la utilidad de configuración de proxy debe ejecutarse con la configuración adecuada.

Referencias