FtpClient storeFile retourne toujours False
S'il vous plaît comprendre cela. Le code s'exécute correctement, sans aucune exception.
FTPClient ftp = new FTPClient();
ftp.connect(server);
if(!ftp.login(username, password))
{
ftp.logout();
return false;
}
int reply = ftp.getReplyCode();
if (!FTPReply.isPositiveCompletion(reply))
{
ftp.disconnect();
return false;
}
InputStream in = new FileInputStream(localfile);
ftp.setFileType(ftp.BINARY_FILE_TYPE, ftp.BINARY_FILE_TYPE);
ftp.setFileTransferMode(ftp.BINARY_FILE_TYPE);
Store = ftp.storeFile(destinationfile, in);
in.close();
ftp.logout();
ftp.disconnect();
}
catch (Exception ex)
{
ex.printStackTrace();
return false;
}
return Store;
Buttttttttt
instruction return retourne toujours faux et que le fichier n'est pas téléchargé sur le serveur. Quelqu'un s'il vous plaît aider sur ce point.
Pour votre information,
1) je suis dans un réseau d'entreprise. ---> faut-il ajouter tous les proxys?
File file = new File("C:\\Users\\sg0214273\\Desktop\\seagate\\seagate.txt");
FileInputStream input = new FileInputStream(file);
client.setFileType(FTP.BINARY_FILE_TYPE);
if (!client.storeFile(file.getName(), input)) {
System.out.println("upload failed!");
}
reply = client.getReplyCode();
if(!FTPReply.isPositiveCompletion(reply)) {
System.out.println("upload failed!");
}
Login success...
230 User ******** logged in.
upload failed!-----> is form boolean return value of storefile
upload failed!---------> is from replycode...
Logout from FTP server...
Veuillez aider
source d'informationauteur RaviKiran
Vous devez vous connecter pour publier un commentaire.
L'exact du message d'échec peut être trouvé par appel FtpClient#getReplyCode(). À partir de cette page (mon emphase):
Pour voir ce qu'un code de retour, vous pouvez voir Wikipédia: Liste de serveur FTP codes de retour.
Sujet est assez vieux, mais peut-être que je vais vous aider à tout autre. J'ai comparé ce que FileZilla envoie au serveur FTP et mon programme ne s'. J'avais besoin d'utiliser http://ftp.enterLocalPassiveMode() pour le faire fonctionner, http://ftp.pasv() pas bon 🙂
Et pour le débogage est préférable d'utiliser getReplyString() que seulement getReplyCode()
Modifier votre code pour passer en mode passif avant de transférer le fichier avec
storeFile()
comme suit:Espère que ça aide.
veuillez ajouter la bibliothèque apache pour ce code
ce sont les impoted classe
reste classe d'importation est de java.io ou java.net
Essayez d'utiliser http://ftp.enterLocalPassiveMode(); avant http://ftp.storeFile(destinationfile, en);