4D v16.3

WEB GET BODY PART

Home

 
4D v16.3
WEB GET BODY PART

WEB GET BODY PART 


 

WEB GET BODY PART ( Teil ; Inhalt ; Name ; mimeTyp ; Dateiname ) 
Parameter Typ   Beschreibung
Teil  Lange Ganzzahl in Nummer des Teils
Inhalt  BLOB, Text in Inhalt des Teils
Name  Text in Name der Originaldatei
mimeTyp  Text in Mime Typ der übertragenen Datei
Dateiname  Text in Name der übertragenen Datei

Der Befehl WEB GET BODY PART analysiert bei Aufrufen im Rahmen eines Web Prozesses den "body" Teil in einer Anfrage, die aus mehreren Teilen besteht.

Im Parameter Teil übergeben Sie die Nummer des zu analysierenden Teils. Über die Funktion WEB Get body part count erhalten Sie die Gesamtanzahl der Teile.

Der Parameter Inhalt erhält den Inhalt des Teils. Sind die zu findenden Teile Dateien, müssen Sie einen Parameter vom Typ BLOB übergeben. Werden in einem Webformular TEXT Variablen übertragen, können Sie einen Parameter vom Typ Text übergeben.

Der Parameter Name erhält den Variablennamen des HTTP Eingabefeldes.

Die Parameter mimeTyp und Name erhalten den Mime Typ und Namen der ursprünglichen Datei - sofern eine vorhanden ist. Ein Name wird nur empfangen, wenn die Datei als <input type="file"> übertragen wird.
mimeTyp und Name sind optional, sie müssen jedoch zusammen übergeben werden.

Hinweis: Bei mehrteiligen Anfragen gibt das erste Array des Befehls WEB GET VARIABLES alle Teile des Formulars zurück, und zwar in derselben Reihenfolge wie der Befehl WEB GET BODY PART. Sie verwenden ihn, um die Position der Teile im Formular direkt zu erhalten.

In diesem Beispiel  lädt ein Webformular verschiedene Bilder über einen Browser auf den HTTP Server und zeigt sie in der Seite an. Das Webformular sieht aus wie folgt:

Der Code für den <body> Teil der Seite lautet:

<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>

Diese Seite ruft zwei 4D Methoden auf:

  • galleryInit beim Laden (Tag 4DSCRIPT) zeigt die im Zielordner gefundenen Bilder
  • GetFile beim Senden der Daten (4DACTION URL des mehrteiligen Formulars) führt die Übertragung durch

Der Code für die Methode galleryInit lautet:

 C_TEXT($vDestinationFolder)
 ARRAY TEXT(aFileNames;0)
 C_LONGINT($i)
 $vDestinationFolder:=Get 4D folder(HTML Root folder)+"photos"+Folder separator //"WebFolder/photos" folder
 DOCUMENT LIST($vDestinationFolder;aFileNames)

Der Code für die Methode GetFile lautet:

 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//für jeden Teil
    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("/") // zurück zur Seite



Siehe auch 

4D Objekte mit HTML Objekten verbinden
WEB Get body part count
WEB GET HTTP BODY
WEB GET VARIABLES

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Web Server
Nummer: 1212

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v13

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)