2012-03-27 2 views
3

Ich möchte, dass Benutzer Dateien über FTP auf meine Site hochladen können (IIS 7.5). Sobald die Datei hochgeladen ist, möchte ich die Datei mit FileSystemWatcher verarbeiten. Wie können Sie feststellen, wann die Datei den Upload auf den Server abgeschlossen hat? Ich möchte es nicht verarbeiten, bevor es den gesamten Upload abgeschlossen hat.Ermitteln, wann eine mit FTP hochgeladene Datei für die Verarbeitung mit FileSystemWatcher bereit ist

+0

Wie könnten Sie möglicherweise wissen, dass, wenn Sie die Größe der Datei vorher wissen? –

+0

@JJD könnte es festes Format oder etwas sein, wo es möglich ist festzustellen, ob das Ende der Datei erreicht ist. –

Antwort

3

Es gibt wirklich keine inhärente Möglichkeit, dass Sie wissen, dass die Datei das Hochladen abgeschlossen hat. Es ist sogar möglich, dass es teilweise zuerst hochgeladen und später vervollständigt wird.

Sie müssen entweder aus dem Dateiinhalt ermitteln, dass es sich um eine vollständige Datei handelt, oder einen anderen Marker verwenden. Zum Beispiel lädt eine leere Datei den Abschluss, d. H. Der Benutzer lädt zuerst file1.dat hoch und lädt dann file1.done hoch, um anzuzeigen, dass file1.dat jetzt verarbeitet werden kann.

+0

Gleiche Antwort wie meine, aber prägnanter und du hast mich dazu geschlagen. +1 – David

+0

@DavidStratton Danke. Irgendwann mal aufwendiger ist besser :) –

0

Eigentlich könnte man die Dateigröße jede Sekunde überprüfen und wenn es für eine Weile nicht steigt, ist die Übertragung vielleicht fertig.

1

Wenn Sie IIS 7.5 und höher verwenden, können Sie einen FTP-Provider schreiben, der einen Prozess starten kann - dies würde nicht den File System Watcher verwenden, bietet aber wahrscheinlich eine bessere Alternative.

Hier ist ein Leitfaden für IIS, der ein Beispiel zeigt (Senden einer Benachrichtigungs-E-Mail in diesem Fall), das Sie an Ihre Zwecke anpassen können.

http://learn.iis.net/page.aspx/632/how-to-use-managed-code-c-to-create-an-ftp-provider-that-sends-an-email-when-files-are-uploaded/

Verwandte Themen