Leggere e visualizzare dati binari in ASP usando ServerXMLHTTP

Questo articolo illustra come leggere e visualizzare dati binari in Active Server Pages (ASP) usando ServerXMLHTTP.

Versione originale del prodotto: Internet Information Services
Numero KB originale: 303982

Riepilogo

ServerXMLHTTP fornisce metodi e proprietà per l'accesso HTTP sicuro dal server tra server Web diversi. È possibile utilizzare questo oggetto per scambiare dati binari tra questi server tramite ASP.

Ulteriori informazioni

La pagina ASP riceve e quindi visualizza i dati binari usando il tipo MIME (Multipurpose Internet Mail Extensions) appropriato. Ad esempio, per .gif immagini, modificare il tipo MIME usando quanto segue:

Response.ContentType = "image/gif"

Nota

Per i file di Adobe Acrobat, usare application/pdfo per .jpg immagini, usare image/jpg.

Il comportamento predefinito per i tipi MIME consiste nell'aprire il documento in Microsoft Internet Explorer. L'aggiunta del codice seguente richiede all'utente di salvare il file o aprire il file con il programma associato:

Content-disposition: attachment; filename=fname.ext

Per altre informazioni, vedere Come generare una finestra di dialogo Download file per un tipo MIME noto.

La procedura seguente illustra come usare ServerXMLHTTP per trasmettere un file di .jpg al browser. ServerXMLHTTP recupera una risposta XML da una pagina ASP tramite HTTP. Usando GET, l'esempio invia una richiesta senza trasferire dati al server Web. L'esempio scrive questa risposta nell'output del browser informando prima il browser che la risposta è un'immagine (image/jpg) e quindi passando la risposta direttamente dall'oggetto Response per visualizzarla sullo schermo.

  1. Creare una nuova pagina ASP e incollare il codice seguente nella pagina:

    <%@ 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. Salvare il file nel server Web.

  3. Passare al file.

Quando si usa l'oggetto ServerXMLHTTP , tenere presente quanto segue:

  • A causa di problemi di threading, la pagina ASP e il file a cui si accede devono trovarsi in cartelle virtuali diverse.
  • Il parser MSXML 3.0 o versione successiva deve essere installato nel server e l'utilità di configurazione proxy deve essere eseguita con le impostazioni appropriate.

Riferimenti