Olá tenho a seguinte classe para envar arquivo pra um servidor ftp, já está conectando, e inclusive aparece a confirmação de envio, mas no ftp nunc chega, acho q deve ser o arquivo na hora de passá-lo como parâmetro devo estar fazendo errado se alguem poder ajudar…
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package controller;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.net.ftp.FTPClient;
import org.apache.commons.net.ftp.FTPReply;
/**
*
* @author pc
*/
public class Ftp {
public void enviar(String nomeArquivo) throws FileNotFoundException, IOException{
FTPClient ftp = new FTPClient();
try {
ftp.connect( "servidor ftp" );
//verifica se conectou com sucesso!
if( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
ftp.login( "login", "senha" );
System.out.println("CONECTADO!!!!!!!!!!!!!!!!");
} else {
//erro ao se conectar
ftp.disconnect();
System.out.println("CONEXAO RECUSADA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
System.exit(1);
}
ftp.changeWorkingDirectory("/fotos");
URL url = getClass().getResource(nomeArquivo);
java.io.InputStream is = url.openStream();
//faz o envio do arquivo
ftp.storeFile( nomeArquivo, is );
// ftp.storeFile(nomeArquivo, bis);
System.out.println("Arquivo "+nomeArquivo+" enviado com sucesso!");
ftp.disconnect();
System.out.println("Fim. Tchau!");
} catch( Exception e ) {
System.out.println("Ocorreu um erro: "+e);
System.exit(1);
}
}
}
A Chamada da classe no servlet
Ftp ftp = new Ftp();
String caminho = "C:/Users/pc/Desktop/Desenvolvimento/logo.jpg";
ftp.enviar(caminho);