Leer y mostrar datos binarios en ASP con ServerXMLHTTP

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

Versión del producto original:   Internet Information Services
Número 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 con el tipo de extensiones de correo de Internet multipropósito (MIME) adecuado. Por ejemplo, para .gif imágenes, cambie el tipo MIME usando lo siguiente:

Response.ContentType = "image/gif"

Nota

Para archivos de Adobe Acrobat, use application/pdf o para .jpg imágenes, use image/jpg .

El comportamiento predeterminado de los tipos MIME es abrir el documento en Microsoft Internet Explorer. Agregar el siguiente código solicita 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 How to raise a File Download dialog box for a known MIME type.

Los pasos siguientes ilustran 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 datos 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 ( ) y, a continuación, pasando la respuesta directamente desde el objeto Response para mostrarla en image/jpg pantalla.

  1. Cree una nueva página ASP y pegue el siguiente código 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. Vaya al archivo.

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

  • Debido a problemas de subprocesos, la página ASP y el archivo al que se tiene acceso deben estar en diferentes carpetas virtuales.
  • MSXML el analizador 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