| 4D v18WEB GET BODY PART | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 WEB GET BODY PART 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| WEB GET BODY PART ( partie ; contenuPartie ; nomPartie ; typeMime ; nomFichier ) | ||||||||
| Paramètre | Type | Description | ||||||
| partie | Entier long |   | Numéro de partie | |||||
| contenuPartie | BLOB, Texte |   | Contenu de la partie | |||||
| nomPartie | Texte |   | Nom de la variable "input" | |||||
| typeMime | Texte |   | Type mime du fichier | |||||
| nomFichier | Texte |   | Nom du fichier posté | |||||
La commande WEB GET BODY PART, appelée dans le contexte d’un process Web, permet d’analyser la partie "corps" d’une requête multi-part.
Passez dans le paramètre partie le numéro de la partie à analyser. Vous pouvez obtenir le nombre total de parties à l’aide de la commande WEB Get body part count.
Le paramètre contenuPartie récupère le contenu de la partie. Lorsque les parties à récupérer sont des fichiers, vous devez passer un paramètre de type BLOB. Dans le cas de variables TEXT postées dans un formulaire Web, vous pouvez passer un paramètre de type texte.
Le paramètre nomPartie récupère le nom de la variable du champ input HTTP.
Les paramètres typeMime et nomFichier permettent de récupérer le type Mime et le nom du fichier d’origine, le cas échéant. nomFichier n’est renseigné que dans le cas où le fichier a été posté dans <input type="file">.
typeMime et nomFichier sont optionnels mais ne peuvent pas être passés séparément. 
Note : Dans le cadre d’une requête multi-part, le premier tableau de la commande WEB GET VARIABLES retourne toutes les parties du formulaire, dans le même ordre que la commande WEB GET BODY PART. Vous pouvez l’utiliser par exemple afin d’obtenir directement la position d'une partie du formulaire.
Dans cet exemple, un formulaire Web permet de télécharger sur le serveur HTTP plusieurs images depuis un navigateur et de les afficher dans la page. Voici le formulaire Web :

Voici le code la partie <body> de la page :
<body>
        <form enctype="multipart/form-data" action="/4DACTION/GetFile/" method="post">
            Locate the picture files to upload: <br>
            Picture file 1: <input name="file1" type="file"><br>
            Picture file 2: <input name="file2" type="file"><br>
            <input type="submit">                    
        </form>     
        <hr/>
    <!--4DSCRIPT/galleryInit-->
    <!--4Dloop aFileNames-->
        <img src="/photos/<!--4Dvar aFileNames{aFileNames}-->"/>
    <!--4Dendloop-->
</body>Deux méthodes 4D sont appelées par la page :
Voici le code de la méthode galleryInit :
 C_TEXT($vDestinationFolder)
 ARRAY TEXT(aFileNames;0)
 C_LONGINT($i)
 $vDestinationFolder:=Get 4D folder(HTML Root folder)+"photos"+Folder separator //"DossierWeb/photos" par exemple
 DOCUMENT LIST($vDestinationFolder;aFileNames)Voici le code de la méthode GetFile :
 C_TEXT($vPartName;$vPartMimeType;$vPartFileName;$vDestinationFolder)
 C_BLOB($vPartContentBlob)
 C_LONGINT($i)
 $vDestinationFolder:=Get 4D folder(HTML Root folder)+"photos"+Folder separator
 For($i;1;WEB Get body part count) //pour chaque partie
    WEB GET BODY PART($i;$vPartContentBlob;$vPartName;$vPartMimeType;$vPartFileName)
    If($vPartFileName#"")
       BLOB TO DOCUMENT($vDestinationFolder+$vPartFileName;$vPartContentBlob)
    End if
 End for
 WEB SEND HTTP REDIRECT("/") // retour à la page
									Traiter les données reçues
									
									WEB Get body part count
									
									WEB GET HTTP BODY
									
									WEB GET VARIABLES
									
	Produit :  4D
	Thème :  Serveur Web
	Numéro :  
        1212
        
        
        
	
	Créé :  4D v13
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	4D - Langage ( 4D v18)
	
	
	
	
	
 Ajouter un commentaire
Ajouter un commentaire