Java File-Upload auf FTP-Server mit Apache Commons Net Library

Hardliner93

Cadet 3rd Year
Registriert
Mai 2012
Beiträge
59
Hi zusammen,
da ich gestern 4 Stunden lang keine Lösung dafür gefunden habe, dachte ich, hier nachzufragen wäre keine schlechte Idee. Was ich erreichen will: Mithilfe der Apache Commons Net Library Dateien auf einen FTP-Server hochladen.
Bisher funktioniert das Herunterladen von Dateien, sowie der Upload zum Teil. Bevor ich sage, wo der Fehler im Moment liegt, hier erstmal der Code:

Code:
FTPClient con = new FTPClient();
FileInputStream in = null;
try {
	con = new FTPClient();
	con.connect("myftp.server.com");
		if (con.login("myusername", "mypassword")) {
		        con.changeWorkingDirectory("/dir/where/to/save");
			String data = "somepic.jpg";
			in = new FileInputStream(data);
			con.storeFile(data, in);
		}
} catch (IOException e) {
	e.printStackTrace();
} finally {
        try {
                if (in != null) {
                in.close();
                }
        con.disconnect();
	con.logout();
        } catch (IOException e) {
                e.printStackTrace();
        }
}

Durch Debugging hat sich gezeigt, dass der "Fehler" immer in der storeFile-Methode auftritt. Das Problem: es wird keine Exception geworfen, sondern der upload scheint einfach ewig weiterzulaufen und nicht zu beenden. Auf dem Server kommt die Datei an, aber es scheinen trotzdem Informationen zu fehlen, weil wenn ich den run beende ist das Bild nicht als solches zu öffnen, und selbst wenn wäre das ja keine Lösung, weil sich das Programm immer aufhängt. Was ich schon probiert habe, ist den Filetype auf FTP.BINARY_FILE_TYPE zu setzen, sowie die enterLocalPassiveMode()-Methode, beides hat nichts geändert.
Wenn jemand eine Lösung für mich hat oder Vorschläge, was ich noch versuchen kann, ich bin dankbar für alle Hinweise.

Mit freundlichen Grüßen,
Hardliner
 
Hi,

hast du mal versucht, zwischen den einzelnen Schritten den FTP-Status auszulesen?

Code:
con.getReplyString();

Vielleicht wird man da ja schlauer?!

Fährst du deine Tests gegen einen lokalen FTP-Server? Steht dort was in den LOGs?

Gruß McCoy
 
Zurück
Oben