Pular para o conteúdo principal

Enviando arquivos via Fluxo Web

No exemplo a seguir, será demonstrado como enviar arquivos via fluxo Web. A funcionalidade Fluxo Web é uma característica do Webrun Studio que permite acesso à fluxos que tem a propriedade Web ativada. É muito útil para integração entre hotsites e sistemas desenvolvidos em Maker.

Visão geral

Este guia demonstra como enviar arquivos do navegador para o Webrun por meio de um Fluxo Web. A funcionalidade permite que hotsites e páginas HTML externas integrem-se com sistemas desenvolvidos no Maker, enviando arquivos diretamente para uma regra do servidor.

O exemplo cria o fluxo Enviando arquivo via fluxo web, que recebe o arquivo e o caminho de destino, grava o conteúdo no disco e finaliza a execução.

Guia relacionado

Para entender o conceito de Fluxo Web, montagem de URL e consulta dos fluxos disponíveis, consulte Como acessar um Fluxo Web.


Parâmetros do fluxo

Antes de montar o fluxograma, defina os parâmetros de entrada:

ParâmetroTipoFunção
arquivoWebVarianteConteúdo do arquivo enviado pelo navegador
caminho para arquivamentoLetrasCaminho completo de destino, incluindo nome e extensão do arquivo

Passo a passo

1. Criar o fluxograma

Crie um fluxo e adicione os dois parâmetros de entrada descritos acima:

Parâmetros de entrada do fluxo


2. Configurar processamentos e variáveis

Adicione três processamentos e uma variável do tipo Variante chamada referenciaLocal, que guardará a referência do arquivo criado no servidor.

OrdemProcessamentoFunção
Criar referência do arquivoAtribui o resultado à variável referenciaLocal
Gravar conteúdoAdiciona o conteúdo enviado pelo navegador à referência do arquivo
Fechar arquivoFinaliza a gravação e encerra a execução do fluxo

Visão geral do fluxograma:

Fluxograma completo

Conteúdo de cada processamento

1º processamento — criar a referência do arquivo:

Primeiro processamento

2º processamento — gravar o conteúdo recebido:

Segundo processamento

3º processamento — fechar o arquivo:

Terceiro processamento


3. Salvar e marcar como Web

  1. Salve o fluxo na camada Servidor com o nome Enviando arquivo via fluxo web.

  2. Feche o fluxo após salvar.

  3. Na aba Objeto Fluxos, clique com o botão direito no fluxo e selecione Web:

    Marcar fluxo como Web

  4. Salve o projeto e reinicie o Webrun.


4. Criar a página HTML

Abra um editor de texto e crie um arquivo HTML. Ajuste a URL do action, o código do sistema (sys) e os nomes dos campos conforme o seu ambiente:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Softwell Solutions</title>
</head>
<body>
<h1>Fluxo Web — Envio de Arquivos</h1>
<form method="POST"
action="http://127.0.0.1:2020/webrunstudio/Enviando arquivo via fluxo Web.rule"
name="frm"
enctype="multipart/form-data">
<input type="hidden" name="sys" value="BS5">
<input type="file" name="arquivoWeb" size="50"><br>
<input type="text" name="caminho para arquivamento" size="50"><br>
<input type="submit" value="Enviar arquivo">
</form>
</body>
</html>

Correspondência entre HTML e fluxo

Os campos do formulário devem usar exatamente o mesmo nome dos parâmetros de entrada do fluxo:

Campo HTMLParâmetro do fluxoTipo de campo
arquivoWebarquivoWeb<input type="file">
caminho para arquivamentocaminho para arquivamento<input type="text">
Envio de arquivos

O atributo enctype="multipart/form-data" é obrigatório no formulário quando há upload de arquivos. Sem ele, o conteúdo do arquivo não será transmitido corretamente.


5. Testar o envio

  1. Salve o arquivo em formato .html e abra-o no navegador.
  2. Selecione o arquivo a ser enviado.
  3. Informe o caminho de destino no segundo campo.
  4. Clique em Enviar arquivo.

O diretório informado deve ser válido e acessível pelo servidor. O caminho deve incluir o nome do arquivo com extensão — por exemplo: C:\pasta\MEU_ARQUIVO.pdf.


Informações complementares

  • A URL do fluxo deve usar o nome exato da regra, incluindo espaços e maiúsculas/minúsculas — como em Enviando arquivo via fluxo Web.rule.
  • O sistema que utilizar Fluxos Web não deve conter instância configurada na Área de Trabalho.