Lire et afficher des données binaires dans ASP à l’aide de ServerXMLHTTP

Cet article explique comment lire et afficher des données binaires dans asp (Active Server Pages) à l’aide de ServerXMLHTTP.

Version du produit d’origine : Internet Information Services
Numéro de la base de connaissances d’origine : 303982

Résumé

ServerXMLHTTP fournit des méthodes et des propriétés pour l’accès HTTP sécurisé du serveur entre différents serveurs Web. Vous pouvez utiliser cet objet pour échanger des données binaires entre ces serveurs via ASP.

Plus d’informations

La page ASP reçoit puis affiche les données binaires à l’aide du type MIME (Multipurpose Internet Mail Extensions) approprié. Par exemple, pour .gif images, modifiez le type MIME à l’aide de ce qui suit :

Response.ContentType = "image/gif"

Remarque

Pour les fichiers Adobe Acrobat, utilisez application/pdf, ou pour .jpg images, utilisez image/jpg.

Le comportement par défaut pour les types MIME consiste à ouvrir le document dans Microsoft Internet Explorer. L’ajout du code suivant invite l’utilisateur à enregistrer le fichier ou à ouvrir le fichier avec le programme associé :

Content-disposition: attachment; filename=fname.ext

Pour plus d’informations, consultez Comment déclencher une boîte de dialogue Téléchargement de fichier pour un type MIME connu.

Les étapes suivantes illustrent comment utiliser ServerXMLHTTP pour diffuser en continu un fichier .jpg dans le navigateur. ServerXMLHTTP récupère une réponse XML à partir d’une page ASP sur HTTP. En utilisant GET, l’exemple envoie une requête sans transférer de données au serveur Web. L’exemple écrit cette réponse dans la sortie du navigateur en informant d’abord le navigateur que la réponse est une image (image/jpg), puis en transmettant la réponse directement à partir de l’objet Response pour l’afficher à l’écran.

  1. Créez une page ASP et collez le code suivant dans la page :

    <%@ 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. Enregistrez le fichier sur le serveur Web.

  3. Accédez au fichier.

Lorsque vous utilisez l’objet ServerXMLHTTP , tenez compte des éléments suivants :

  • En raison de problèmes de thread, la page ASP et le fichier accessible doivent se trouver dans des dossiers virtuels différents.
  • L’analyseur MSXML 3.0 ou version ultérieure doit être installé sur le serveur et l’utilitaire de configuration du proxy doit être exécuté avec les paramètres appropriés.

References