Hallo zusammen,
dies ist mein erster Post.
Habe zu meinem Problem nichts passendes gefunden.
Wenn ich mit FTPClient von Apache eine Datei übertrage, wird nicht die komplette Datei übertragen sonden einige KB weniger.
z.B.
Größe Remotefile 353139 KB
Größe Localfile 353144 KB
Wenn ich die gleiche Datei auf den gleichen FTP-Server mit WinSCP übertrage ist diese komplett auf dem Server vorhanden.
Dies ist der Code den ich zum Test verwende
===============
Das ist das Ergebniss
getReceiveDataSocketBufferSize 0
getSendDataSocketBufferSize 0
getBufferSize 0
211-Server status:
Transfer mode: ASCII
List mode: UNIX
Current number of users: 271
Maximum number of users: 8364
Idle timeout: 300 seconds
Hostname: zizzi
211 End of server status.
Starte Übertragung von U:/eNVenta/TestUpload.zip mit 353144 KB
Upload erfolgreich: U:/eNVenta/TestUpload.zip -> /TestUpload.zip
Größe Remotefile 353139 KB
Größe Localfile 353144 KB
211-Server status:
Transfer mode: ASCII
List mode: UNIX
Current number of users: 271
Maximum number of users: 8364
Idle timeout: 300 seconds
Hostname: zizzi
211 End of server status.
Logout erfolgreich 221 Goodbye.
Auch schon Buffersize geändert, Passiv oder aktive, Port hinzugefügt.
Andere Apache Version verwendet
Keine Besserung.
Vielleicht kann mir jemand von euch einen Rat geben.
Danke im vorraus
AlexGT
dies ist mein erster Post.
Habe zu meinem Problem nichts passendes gefunden.
Wenn ich mit FTPClient von Apache eine Datei übertrage, wird nicht die komplette Datei übertragen sonden einige KB weniger.
z.B.
Größe Remotefile 353139 KB
Größe Localfile 353144 KB
Wenn ich die gleiche Datei auf den gleichen FTP-Server mit WinSCP übertrage ist diese komplett auf dem Server vorhanden.
Dies ist der Code den ich zum Test verwende
Java:
try {
//Holen der Dateigröße
File myFile = new File( localFile );
long sizeFile = myFile.length();
myFile = null;
FTPClient ftp = new FTPClient();
//Mit oder ohne Port unvollständige übertragung
ftp.connect( host );
if ( FTPReply.isPositiveCompletion( ftp.getReplyCode() ) ) {
if ( ftp.login( user, pw ) ) {
//Setzen der Optionen
ftp.setFileTransferMode( FTP.BINARY_FILE_TYPE );
System.out.println( "getReceiveDataSocketBufferSize " + ftp.getReceiveDataSocketBufferSize() );
System.out.println( "getSendDataSocketBufferSize " + ftp.getSendDataSocketBufferSize() );
System.out.println( "getBufferSize " + ftp.getBufferSize() );
System.out.println( ftp.getStatus() );
ftp.changeWorkingDirectory( "/" );
InputStream in = new FileInputStream( localFile );
System.out.println("Starte Übertragung von " + localFile + " mit " + sizeFile / 1024 + " KB");
if ( ftp.storeFile( remoteFile, in ) ) {
System.out.println( "Upload erfolgreich: " + localFile + " -> " + remoteFile );
} else {
System.out.println( "Status " + ftp.getReplyCode() + " - Upload fehlerhaft: " + localFile + " -> " + remoteFile );
}
System.out.println( "Größe Remotefile " + Long.parseLong( ftp.getSize( remoteFile ) ) / 1024 + " KB");
System.out.println( "Größe Localfile " + sizeFile / 1024 + " KB");
System.out.println( ftp.getStatus() );
if ( ftp.logout() ) {
System.out.println( "Logout erfolgreich " + ftp.getReplyString() );
} else {
System.out.println( "Logout nicht erfolgreich " + ftp.getReplyString() );
}
ftp.disconnect();
}
}
} catch ( Exception e ) {
System.out.println( e.getLocalizedMessage() );
}
Das ist das Ergebniss
getReceiveDataSocketBufferSize 0
getSendDataSocketBufferSize 0
getBufferSize 0
211-Server status:
Transfer mode: ASCII
List mode: UNIX
Current number of users: 271
Maximum number of users: 8364
Idle timeout: 300 seconds
Hostname: zizzi
211 End of server status.
Starte Übertragung von U:/eNVenta/TestUpload.zip mit 353144 KB
Upload erfolgreich: U:/eNVenta/TestUpload.zip -> /TestUpload.zip
Größe Remotefile 353139 KB
Größe Localfile 353144 KB
211-Server status:
Transfer mode: ASCII
List mode: UNIX
Current number of users: 271
Maximum number of users: 8364
Idle timeout: 300 seconds
Hostname: zizzi
211 End of server status.
Logout erfolgreich 221 Goodbye.
Auch schon Buffersize geändert, Passiv oder aktive, Port hinzugefügt.
Andere Apache Version verwendet
Keine Besserung.
Vielleicht kann mir jemand von euch einen Rat geben.
Danke im vorraus
AlexGT
Zuletzt bearbeitet von einem Moderator: