GNU/Linux >> LINUX-Kenntnisse >  >> Linux

LINUX:So erkennen Sie, dass das Hochladen der FTP-Datei abgeschlossen ist

Ich würde versuchen, Inotify zu verwenden, Ereigniscode IN_CLOSE_WRITE.


Der Apache "Mina" FTP-Server (Java) kann möglicherweise das tun, was Sie möchten, einschließlich der Erkennung eines fehlgeschlagenen Uploads, wie hier erwähnt

Zitat:

Von Ftplet.afterCommand aus sollten Sie sich die Antwort ansehen können. Für die fehlgeschlagenen Übertragungen, die FtpServer erkennen kann (was eine SocketException oder IOException verursacht), sollte dies so etwas wie 426 oder 551 sein.

Ftplet-Übersicht hier, einschließlich Antwortcodes.

Die afterCommand-Methodensignatur:

FtpletResult afterCommand(FtpSession session, FtpRequest request, FtpReply reply)

Sie würden reply.getCode() überprüfen in Ihrer überschriebenen Methode. Sie sollten DefaultFtplet ableiten anstatt Ftplet zu implementieren Benutzeroberfläche von Grund auf neu.

Beachten Sie, dass DefaultFtplet::afterCommand zeigt, wie man erkennt, auf welchen Client-Befehl geantwortet wird. Sie können nach STOR suchen oder STOU und Antwortcode 426 oder 551 um fehlgeschlagene Uploads zu erkennen.

Dies kann jedoch einen vom Client absichtlich abgebrochenen Upload nicht erkennen, wenn die Client-App beschließt, die Übertragung so zu behandeln, als wäre die Datei nur kürzer als sie ist. Im Falle einer unbeabsichtigten Verbindungsunterbrechung funktioniert meiner Meinung nach die Reply-Code-Prüfung. Ein Test könnte darin bestehen, die Client-App zu beenden oder die Netzwerkschnittstelle des Client-Computers herunterzufahren.

Um erfolgreiche Uploads (Ihre ursprüngliche Frage) zu handhaben, können Sie stattdessen nach dem Antwortcode für den Erfolg suchen, dh 226 .


Linux
  1. So verwalten Sie Linux-Dateifunktionen

  2. So erstellen Sie einen Swap unter Linux

  3. So erstellen Sie eine Auslagerungsdatei unter Linux

  4. So leeren Sie eine Protokolldatei unter Linux

  5. Wie lade ich eine Datei per FTP von der Befehlszeile hoch?

So mounten Sie eine ISO-Datei unter Linux

Wie man eine Datei unter Linux ausführbar macht

So überprüfen Sie die Prüfsumme unter Linux

So benennen Sie eine Datei (en) in Linux um

So verknüpfen Sie eine Datei unter Linux per Symlink

So verschlüsseln Sie Dateien unter Linux