FTP - Cliente
Introdução
O Netuno tem integrado na sua framework low-code um cliente FTP, que permite conectar com servidores, enviar e receber arquivos, modificar pastas, entre outras operações remotas.
Suporta múltiplas conexões simultâneas, e ainda FTPS.
Isso graças a implementação Java e open-source Apache Commons Net, que é o que permite ao Netuno fornecer estas funcionalidadas a todas linguagens de script através do recurso _ftp
.
Mais sobre o recurso FTP do Netuno.
Configuração
O primeiro passo será configurar os dados de acesso ao FTP que o Netuno irá utilizar para realizar a conexão.
Navegue dentro da aplicação que está a desenvolver até ao arquivo de configuração de ambiente. Neste exemplo, iremos utilizar o arquivo de ambiente de desenvolvimento localizado em:
config/_development.json
Verifique se já não existe configurações para o FTP, se não existir ainda então no fim do arquivo de configuração (em formato JSON) adicione os parâmetros de configuração do FTP:
{
...
"ftp": {
"default": {
"enabled": true,
"host": "meu.servidor.net",
"port": 21,
"username": "temp",
"password": "$eCr37"
}
},
...
}
Após salvar as alterações, basta reiniciar o Netuno para assumir as alterações da configuração. Sendo estas as configurações padrão para a conexão, como indica o nome default
.
Pode adicionar mais configurações de conexão FTP, mas apenas uma poderá ser definida como padrão.
Para adicionar mais configurações de conexão FTP basta repetir o bloco de configuração padrão e trocar o nome default
por um outro nome à sua escolha, como por exemplo:
{
...
"ftp": {
"default": {
"enabled": true,
"host": "meu.servidor.net",
"port": 22,
"username": "temp",
"password": "$eCr37"
},
"outro": {
"enabled": true,
"host": "meu.outro-servidor.net",
"port": 22,
"username": "temp",
"password": "$eCr37"
}
},
...
}
Uma configuração semelhante ao exemplo acima vai permitir utilizar a conta default quando for chamada da seguinte forma no código:
const ftp = _ftp.init()
E para utilizar a configuração outror
basta adicionar o nome da configuração como parâmetro à função _ftp.init()
da seguinte forma:
const ftpOutro = _ftp.init("outro")
Se não adicionar um nome de configuração como parâmetro será utilizada sempre a conta default.
Conexão
Antes de fazer qualquer coisa é preciso iniciar a conexão FTP:
ftp.connect();
Pasta de Trabalho
Ao realizar operações no FTP é preciso definir qual pasta será utilizada.
Através da definição da pasta de trabalho vamos poder realizar as diversas manipulações a partir desta pasta base.
Para alterar a pasta de trabalho:
ftp.changeWorkingDirectory('minha/pasta/base')
Agora qualquer operação será feita nesta ou a partir desta pasta.
Criar e Apagar Pastas
Ao criar uma pasta basta indicar o caminho desta pasta:
ftp.createDirectory('pasta-temporaria')
ftp.createDirectory('pasta-temporaria/sub-pasta')
Apagar ou remover pastas:
ftp.deleteDirectory('pasta-temporaria/sub-pasta')
ftp.deleteDirectory('pasta-temporaria')
Renomear
É possível renomear arquivos ou pastas, é passado o caminho antigo e a seguir o novo caminho:
ftp.rename('antigo', 'novo')
Enviar Arquivos
Para submeter um arquivo de texto:
ftp.uploadText('meu-arquivo.txt', 'Olá FTP! Este é o meu conteúdo...')
Receber Arquivos
Para obter um arquivo de texto:
const conteudoArquivo = ftp.downloadText('meu-arquivo.txt')
_out.println(conteudoArquivo)
Listar Items na Pasta
Lista todo o conteúdo de uma pasta:
for (const i of ftp.list("caminho/pasta")) {
if (i.isDirectory()) {
_out.print('Pasta: ');
} else if (i.isFile()) {
_out.print('Arquivo: ');
} else {
_out.print('Outro: ');
}
_out.printlsn(i.getName());
_out.println('<br/>');
}
Retorna uma lista de objetos do tipo FTPFile.