Forum de discussion
Forum « Programmation ASP » (archives)
Re: Upload de fichier et extraire les élément binaire
Envoyé: 14 janvier 2004, 9h03 par Oznog
J'imagine que tu utilise la méthode "BinaryRead" et donc la collection request.form n'est effectivement plus disponible.
C'est que tu dois l'extraire manuellement excatement comme le fait du Javascript mais en plus complexe (c'Est binaire!).
1. Convertir le binaire :
nData = Request.BinaryRead(Request.TotalBytes)
For i = 1 to LenB(nData)
sDonnees = sDonnees & Chr(AscB(MidB(nData,i,1)))
Next
2. Retrouver le contentType :
sContentType = Request.ServerVariables("HTTP_CONTENT_TYPE")
aContentType = Split(sContentType, ";")
If Trim(aContentType(0)) = "multipart/form-data" Then
' Cool, tout va bien
else
' Mauvais encodage!
end if
3. Split sur le "=" pour trouver les délimitateur.
aDelimit = Split(Trim(aContentType(1)), "=")
Delimitateur = Trim(aDelimit(1))
4. Reprend la chaîne "débinarisée" et la split sur le délimitateur récupéré de l'étape précédente.
aDonnees = Split(sDonnees, Delimitateur).
Le tour est joué, tu sera sans doute quoi faire avec le tableau de tes données. À savoir, deux CrLf indique la fin d'une ligne donc :
For i = 0 to UBound(aDonnees)
InfoEnd = InStr(aDonnees(i), CrLf & CrLf)
If InfoEnd > 0 Then
' Probablement un fichier
else
' Les champs que tu cherche...
end if
next
Pour extraire les champs et les valeurs, comme tout bon programme un mélange de InStr/MID/Len. MAis dans l'ensemble, une fois débinarisé tu peux afficher la chaîne à tout moment et comprendre comment elle est construite pour en extraire ce que tu veux.
Ciao
Oznog
Réponses
|