O meu objetivo será mostrar o processo de criação de um fluxo que poderá efetuar o download de qualquer arquivo no servidor, podendo ele está ou não dentro do contexto da aplicação.
Utilizaremos para isso um fluxo do tipo web, que pode nos da um retorno a partir de sua requisição. Para que um fluxo possa ser definido como web é necessário clicar com o botão direito do mouse sobre ele e marcar a opção web. Lembro que para que um fluxo possa ser definido como web ele não deverá possui nenhum tipo de iteração, esse tipo de fluxo apenas irá receber os parâmetros necessários para sua execução e retornar algo, sendo que o retorno não é algo obrigatório. Para este exemplo utilizarei um fluxo bem simples, como pode-se observar abaixo.
Podemos observar que o fluxo é muito simples. O segredo aqui está em acrescentar informações ao cabeçalho da requisição e isso é que vai indicar ao browser o comportamento que ele deverá tomar ao receber uma resposta para esta requisição, no caso desse exemplo utilizei a função "Resposta Web: Atribuir valor ao cabeçalho" nos dois últimos processamentos para incluir as seguintes informações:
1. Content-Type: application/zip
2. Content-Disposition : attachment; filename="Arquivo.zip"
Isso fará com que o browser inicie o donwload ao receber a resposta da requisição.
A url para download do arquivo fica da seguinte maneira:
<Endereço do seu servidor>/<Nome do contexto da sua aplicação>/<Nome do seu fluxo web>.rule?sys=<Sigla do seu sistema>&caminho=<Caminho do arquivo no servidor>
Ex.: localhost:8080/webrun/BaixarArquivo.rule?sys=EXE?caminho=c:\teste.txt
Muito simples isso não é? O fluxo desse exemplo encontra-se em anexo neste post.
Até o próximo post.
Fluxo BaixarArquivo: https://www.dropbox.com/s/ku0a722jixjzztq/BaixarArquivo.FRZ

Tentei fazer, mas ele dá sempre a mensagem Erro Interno do Servidor... já revisei tudo, e está tal-qual... o que poderá estar havendo!?
ResponderExcluir