Alguém sabe porque ao tentar enviar um arquivo pelo FTPClient ele retorna esse erro?
500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this
Alguém sabe porque ao tentar enviar um arquivo pelo FTPClient ele retorna esse erro?
500 PORT/EPRT (Active Mode/Extended Active Mode) is not supported. Use PASV/EPSV instead of this
O código cara, posta o código…
public static void main(String[] args) {
FTPClient ftp = new FTPClient();
try {
System.out.println("Conectando...");
ftp.connect(host, 21);
System.out.println("Conectou");
if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
System.out.println("Autenticando...");
ftp.login(usuario, senha);
System.out.println("Autenticou");
ftp.enterLocalActiveMode();
//envia o arquivo
InputStream is = new FileInputStream("C:\\aa.pdf");
System.out.println("Enviando Arquivo para " + host);
ftp.setFileType(FTPClient.BINARY_FILE_TYPE);
Boolean b = ftp.storeFile("aa.pdf", is);
} else {
//erro ao se conectar
ftp.disconnect();
System.out.println("Conexão recusada");
System.exit(0);
}
} catch (SocketException ex) {
Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Teste.class.getName()).log(Level.SEVERE, null, ex);
}
}
tente assim:
ftp.enterLocalPassiveMode();
ftp.setUseEPSVwithIPv4(true);
ftp.setFileType(FTPClient.ASCII_FILE_TYPE);
Show! Funcionou perfeitamente!