The manual Page
English version
accueil | glossaire | downloads | liens ]
 

Méthode Request.BinaryRead

Synopsis

Request.BinaryRead(Compteur)

Cette méthode renvoie le contenu binaire brut du corps d'entité d'une requête POST. Cette méthode sert principalement lorsque la collection Request.Form est insuffisante à manipuler les données envoyées par le client. C'est ce qui se passe lorsque l'on envoie un fichier au serveur : en effet, l'envoi de fichier (file upload en anglais) n'est a priori pas directement possible avec les objets standards d'ASP 3.0.

Pour envoyer des données brutes au client (i.e. écrire soi-même le corps de la réponse), il faut utiliser la méthode BinaryWrite de l'objet Response.

Cette méthode prend un unique paramètre obligatoire.

Utilisation

Compteur indique tout d'abord le nombre d'octets à lire, mais c'est un paramètre en lecture/écriture : avant d'exécuter la méthode BinaryRead, c'est le nombre d'octets à lire, mais une fois l'exécution terminée, c'est le nombre d'octets effectivement lus. Ce dernier nombre doit logiquement être inférieur ou égal à Request.TotalBytes. Request.TotalBytes indique le nombre total d'octets de données contenu dans le corps de la requête.

Il est à noter que la méthode Request.BinaryRead renvoie des données au format binaire. Avant de pouvoir exploiter le résultat renvoyé, il est souvent nécessaire de le convertir au format ASCII.

Conformément à la remarque du premier paragraphe, cette méthode doit préférentiellement s'utiliser de la façon suivante, en stockant au préalable dans une variable le nombre d'octet à lire :

compteur = Request.TotalBytes
' Voire eventuellement "compteur = 4" si on veut lire
' les 4 premiers octets
contenu_binaire = Request.BinaryRead(compteur)
Response.BinaryWrite(contenu_binaire)

Ce qui donne par exemple après envoi d'un formulaire par la méthode POST :

champ1=premier+champ&champ2=second+champ (40 octets)


format imprimable format imprimable



Copyright © 2000-2006 themanualpage.org - Ce site est soumis aux conditions décrites dans les licences GNU GPL et FDL.