Guten Tag. Ich habe org.apache.commons.net.ftp.FTP in mein Projekt importiert und es gab einige Probleme beim Hochladen der Zip-Datei auf FTP. Wenn es kleine Datei (< 100 MB) hochlädt, funktioniert es gut. Aber wenn es zu einer größeren Datei (> 500MB) kommt, wird es dort stehen bleiben, ohne den verbleibenden Vorgang zurückzugeben und auszuführen, selbst wenn die Datei auf den Server übertragen wurde. Und wie die Funktion/FTP bestätigen, wenn die Übertragung erfolgt? Gibt es das überhaupt, um es zu überprüfen?Java FTP-Upload abgeschlossen aber nicht zurück
public class zipFTP
{
public boolean uploadFile(String ht, String usr, String ps, String fpath, String uploadloc)
{
FTPClient client = new FTPClient();
FileInputStream fis = null;
writeLog nLog = new writeLog();
String channel = "FTP";
boolean completed = false;
//client.setBufferSize(1048576);
client.setControlKeepAliveReplyTimeout(300);
//System.out.println(client.getBufferSize());
try
{
nLog.writeToLog(dumptoFTP.filename, channel, "Uploading...");
client.connect(ht);
client.login(usr, ps);
client.enterLocalPassiveMode();
client.setFileType(FTP.BINARY_FILE_TYPE);
fis = new FileInputStream(fpath);
completed = client.storeFile(uploadloc, fis);
//client.completePendingCommand(); //to complete the transaction entirely
if(completed)
{
if (dumptoFTP.isSysLog)
System.out.println("File uploaded");
nLog.writeToLog(dumptoFTP.filename, channel, "File uploaded");
}
fis.close();
}
catch (IOException e)
{
e.printStackTrace();
if (dumptoFTP.isSysLog)
System.out.println("Upload failed");
nLog.writeToLog(dumptoFTP.filename, channel, "Upload failed");
nLog.writeToLog(dumptoFTP.filename, channel, e.toString());
}
finally
{
try
{
if(client.isConnected())
{
client.logout();
client.disconnect();
}
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
return completed;
}
}
, was du meinst es 'nicht returning' ist es irgendwo blockiert und wenn ja, wo? Einfaches Debugging –
wie gesagt, wenn es kleine Dateien überträgt, funktioniert es. Aber wenn es zu einer größeren Datei kommt, wird es dort aufhören, selbst wenn die Datei vollständig übertragen wurde. – Myiosus
wo hört es auf? –