|
dernière mise à jour le 27/08/2006
|
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
|