Lesen und Anzeigen von Binärdaten in ASP mithilfe von ServerXMLHTTP
In diesem Artikel wird gezeigt, wie Binärdaten in Active Server Pages (ASP) mithilfe von gelesen und angezeigt ServerXMLHTTP werden.
Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 303982
Zusammenfassung
ServerXMLHTTP stellt Methoden und Eigenschaften für den serversicheren HTTP-Zugriff zwischen verschiedenen Webservern bereit. Sie können dieses Objekt verwenden, um binäre Daten zwischen diesen Servern über ASP auszutauschen.
Weitere Informationen
Die ASP-Seite empfängt und zeigt dann die Binärdaten mit dem entsprechenden MIME-Typ (Multipurpose Internet Mail Extensions) an. Ändern Sie z. B. für .gif Bilder den MIME-Typ wie folgt:
Response.ContentType = "image/gif"
Hinweis
Verwenden Sie für Adobe Acrobat-Dateien application/pdf oder für .jpg Bilder image/jpg .
Das Standardverhalten für MIME-Typen ist das Öffnen des Dokuments in Microsoft Internet Explorer. Durch Hinzufügen des folgenden Codes wird der Benutzer aufgefordert, die Datei zu speichern oder die Datei mit dem zugeordneten Programm zu öffnen:
Content-disposition: attachment; filename=fname.ext
Weitere Informationen finden Sie unter Auslösen eines Dialogfelds zum Herunterladen von Dateien für einen bekannten MIME-Typ.
Die folgenden Schritte veranschaulichen, wie Sie ServerXMLHTTP eine .jpg-Datei in den Browser streamen. ServerXMLHTTP ruft eine XML-Antwort von einer ASP-Seite über HTTP ab. Mithilfe von GET sendet das Beispiel eine Anforderung, ohne Daten an den Webserver zu übertragen. Im Beispiel wird diese Antwort in die Ausgabe des Browsers geschrieben, indem zunächst der Browser darüber informiert wird, dass es sich bei der Antwort um ein Bild ( image/jpg ) handelt, und die Antwort dann direkt vom Response-Objekt übergeben wird, um sie auf dem Bildschirm anzuzeigen.
Erstellen Sie eine neue ASP-Seite, und fügen Sie den folgenden Code in die Seite ein:
<%@ 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 %>Speichern Sie die Datei auf dem Webserver.
Navigieren Sie zu der Datei.
Beachten Sie bei der Verwendung des ServerXMLHTTP Objekts Folgendes:
- Aufgrund von Threadingproblemen sollten sich die ASP-Seite und die Datei, auf die zugegriffen wird, in verschiedenen virtuellen Ordnern befinden.
- MSXML 3.0-Parser oder höher sollte auf dem Server installiert sein, und das Proxykonfigurationsprogramm sollte mit den entsprechenden Einstellungen ausgeführt werden.