Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
WEB GET BODY PART
|
WEB GET BODY PART ( parte ; conteudo ; nome ; tipoMime ; nomArquivo ) | ||||||||
Parâmetro | Tipo | Descrição | ||||||
parte | Inteiro longo |
![]() |
Número de parte | |||||
conteudo | BLOB, Texto |
![]() |
Conteúdo de parte | |||||
nome | Texto |
![]() |
Nome da variável "input" | |||||
tipoMime | Texto |
![]() |
Tipo mime do arquivo | |||||
nomArquivo | Texto |
![]() |
Nome do arquivo enviado | |||||
O comando WEB GET BODY PART chamado no contexto de um processo web, permite analisar a parte "body" de uma petição multi-part.
No parâmetro parte, passe o número da parte a analisar. Podes obter o número total de partes com comando WEB Get body part count.
No parâmetro conteudo recebe o conteúdo da parte. Quando as partes a recuperar são arquivos, deve passar um parâmetro de tipo BLOB. No caso de variáveis TEXTO enviadas em um formulário web, pode passar um parâmetro de tipo texto.
O parâmetro nome recupera o nome da variável do campo input HTTP.
Os parâmetros tipoMime e nomArquivo recebem o tipo Mime e o nome do arquivo original, se houver. nomArquivo só é recebido quando o arquivo se enviou como <input type="file">.
tipoMime e nomArquivo são opcionais mas devem ser passados juntos.
Nota: No contexto de uma petição multi-part, o primeiro de array do comando WEB GET VARIABLES devolve todas as partes do formulário, na mesma ordem que o comando WEB GET BODY PART. Pode utilizar-lo para obter diretamente a posição de uma parte de um formulário.
Neste exemplo, um formulário web permite descarregar no servidor HTTP varias imagens desde um navegador e mostrar-las na página. Este é o formulário web:
Este é o código para a parte <body> da página:
<body> <form enctype="multipart/form-data" action="/4DACTION/GetFile/" method="post"> Localize as imagens a carregar: <br> Imagem 1: <input name="file1" type="file"><br> Imagem 2: <input name="file2" type="file"><br> <input type="submit"> </form> <hr/> <!--4DSCRIPT/galleryInit--> <!--4Dloop aFileNames--> <img src="/photos/<!--4Dvar aFileNames{aFileNames}-->"/> <!--4Dendloop--> </body>
Dois métodos 4D são chamados pela página:
Este é o código do 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 é o código do 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("/") // voltar a página
Produto: 4D
Tema: Web Server
Número
1212
Criado por: 4D v13
Manual de linguagem 4D ( 4D v20 R7)