4D v16.3

WEB GET BODY PART

Inicio

 
4D v16.3
WEB GET BODY PART

WEB GET BODY PART 


 

WEB GET BODY PART ( parte ; contenido ; nombre ; tipoMime ; nomArchivo ) 
Parámetro Tipo   Descripción
parte  Entero largo in Número de parte
contenido  BLOB, Texto in Contenido de la parte
nombre  Texto in Nombre de la variable "input"
tipoMime  Texto in Tipo mime del archivo
nomArchivo  Texto in Nombre del archivo enviado

El comando WEB GET BODY PART llamado en el contexto de un proceso web, permite analizar la parte "body" de una petición multi-part.

En el parámetro parte, pase el número de la parte a analizar. Puede obtener el número total de partes con el comando WEB Get body part count.

El parámetro contenido recibe el contenido de la parte. Cuando las partes a recuperar son archivos, debe pasar un parámetro de tipo BLOB. En el caso de variables TEXTO enviadas en un formulario web, puede pasar un parámetro de tipo texto.

El parámetro nombre recupera el nombre de la variable del campo input HTTP.

Los parámetros tipoMime y nomArchivo reciben el tipo Mime y el nombre del archivo original, si lo hay. nomArchivo solo se recibe cuando el archivo se envio como <input type="file">.
tipoMime y nomArchivo son opcionales pero deben pasarse juntos.

Nota: en el contexto de una petición multi-part, el primer de array del comando WEB GET VARIABLES devuelve todas las partes del formulario, en el mismo orden que el comando WEB GET BODY PART. Puede utilizarlo para obtener directamente la posición de una parte de un formulario.

Ejemplo  

En este ejemplo, un formulario web permite descargar en el servidor HTTP varias imágenes desde un navegador y mostrarlas en la página. Este es el formulario web:

Este es el código para la parte <body> de la página:

<body>
        <form enctype="multipart/form-data" action="/4DACTION/GetFile/" method="post">
            Localice las imágenes a cargar: <br>
            Imagen 1: <input name="file1" type="file"><br>
            Imagen 2: <input name="file2" type="file"><br>
            <input type="submit">                   
        </form>    
        <hr/>
    <!--4DSCRIPT/galleryInit-->
    <!--4Dloop aFileNames-->
        <img src="/photos/<!--4Dvar aFileNames{aFileNames}-->"/>
    <!--4Dendloop-->
</body>

Dos métodos 4D son llamados por la página:

  • galleryInit al cargar (etiqueta 4DSCRIPT), muestra las imágenes presentes en la carpeta de destino.
  • GetFile al enviar los datos (4DACTION URL del formulario multi-part), procesa el envío.

Este es el código del método galleryInit:

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

Este es el código del método 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//para cada parte
    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("/") // volver a la página



Ver también 

Asociar objetos 4D a objetos HTML
WEB Get body part count
WEB GET HTTP BODY
WEB GET VARIABLES

 
PROPIEDADES 

Producto: 4D
Tema: Servidor Web
Número 1212

This command can be run in preemptive processes

 
HISTORIA 

Creado por: 4D v13

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v16)
Manual de lenguaje 4D ( 4D v16.1)
Manual de lenguaje 4D ( 4D v16.2)
Manual de lenguaje 4D ( 4D v16.3)