Fazendo FTP com Java

acho que este link está ok

http://archive.apache.org/dist/commons/net/binaries/commons-net-1.2.2.zip

obrigado, LedRenan ;}

Por que tem gente que, assim como eu agora, acaba precisando… :wink:

Vou conferir!!

Mto rox maninho Vlw! :smiley:

Aqui deu um erro, quando voltar eu ponho aqui!!

Olá á Todos,
Alguem poderia me dizer como eu posso fazer para que o usuário além de digitar o arquivo para fazer o upload ele possa também digitar o servidor para onde ele poderá fazer o upload, pois no tutorial você define o servidor e a senha antes de compilar. Lembrando que eu sou muito mais muito noob.

Obrigado,
Nathan Paulino Campos

Pessoal, eu utilizei o código para enviar arquivos via FTP.
Funcionou maravilhosamente, no entanto, estou com um problema.

O sistema que envia arquivo via ftp funciona perfeitamente, o problema é que, no cliente em que deveria rodar mesmo, não está indo.

Tenho QUASE certeza que o problema está no firewall dele, pois, quando eu habilitei o firewall do windows em minha máquina e testei, também não funcionou.

O cliente não utiliza o firewall do windows, no entanto utiliza um firewall terceiro.

Eu queria ter certeza de que o problema está no firewall estar bloqueando o acesso ao ftp.

Alguém poderia me ajudar a ter essa certeza?

Abraço a todos.

Não consegui fazer o ftp do arquivo com o código acima, quando fui depurar o código notei que ele não entra no for pra enviar o arquivo, nas variaveis locais ele diz que args.length tem valor igual a 0. Alguem pode me ajudar quanto a isso? :?:

Código base > http://www.guj.com.br/article.show.logic?id=154

Excelente dica, fiz um programinha apartir deste codigo, funcionou perfeitamente no Windows XP, porém no W7 nao roda por nada.

o seguinte erro é informado

Enviando arquivo fotos.zip…
Ocorreu um erro: java.net.SocketException: Software caused connection abort: socket write error

Também passei pelo mesmo problema edescobri que o Firewall do Windows que está bloqueando a IDE (NetBeans no meu caso).

SOLUÇÃO:

Execute diretamente o jar ou desative o firewall (não recomendado).

Eu resolvi o problema, na verdadade precisei formatar o pc, e instalei o w7 novamente, e dessa vez funcionou certinho, é verdade desativei o firewall do win, deve ter sido mesmo isso

valeuuu

Vlw !!!
Isto é muito bom para automatizar a gestão de arquivos em um site !

http://www.supertintendo.com

Estou com problema ao utilizar este jar com o firewall do windows 7 ativado.
Alguém pode me ajudar?

Utilizei todos as funções descritas, faço upload do arquivo… .rar … blz
se eu pegar ele no FTP para ver… funciona correto…
o problema é quando quero fazer o download do arquivo… se for .rar, .jar .pdf… corrompe o arquivo… se for arquivo .txt .sql não corrompe… oque pode ser ?

já testei…

ftp.setFileType(FTP.BINARY_FILE_TYPE);

e

ftp.setFileType(FTP.ASCII_FILE_TYPE);

e mesmo assim corrompe o arquivo…

public String FTP_Download(String caminho, String arquivo, String versao) throws Exception {

    inf = conf_ftp();

    String retorno = "";

    FTPClient ftp = new FTPClient();

    ftp.connect(inf.getEndereco());
    
    ftp.login(inf.getLogin(), inf.getSenha());

    ftp.changeWorkingDirectory(inf.getPasta_trabalho());


    String cam = arquivo;
    String arqui = "";
    String resto = "";

    for (int i = 0; i < cam.length(); i++) {
        if (cam.substring(i, i + 1).equals(".")) {
            arqui = cam.substring(0, i);
            resto = cam.substring(i, cam.length());
            i = cam.length();
        }
    }

    String Caminho_Salvo = "C:\\\\Download\\\\" + arqui + "_" + versao + resto;
    
    ftp.setFileType(FTP.BINARY_FILE_TYPE);
    
    FileOutputStream fos = new FileOutputStream(Caminho_Salvo);

    if (ftp.retrieveFile(caminho, fos)) {
        retorno = "Download efetuado com sucesso!\n\nSalvo em: " + "C:\\SGE\\Download\\" + arqui + "_" + versao + resto;           
    } else {
        retorno = "Erro ao efetuar download do arquivo.";
    }

    fos.close();
    ftp.noop();
    ftp.logout();

    if (ftp.isConnected()) {
        try {
            ftp.disconnect();
        } catch (IOException f) {
            JOptionPane.showMessageDialog(null, "Erro Finally");
        }
    }
 
    return retorno;
}

esse é o método…
no aguardo

Ricardo