4D v16.3WEB GET BODY PART |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
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
Binding 4D objects with HTML objects
WEB Get body part count
WEB GET HTTP BODY
WEB GET VARIABLES
Produto: 4D
Tema: Web Server
Número
1212
Criado por: 4D v13
Manual de linguagem 4D ( 4D v16)
Manual de linguagem 4D ( 4D v16.1)
Manual de linguagem 4D ( 4D v16.2)
Manual de linguagem 4D ( 4D v16.3)
Adicionar um comentário