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
Antwort
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.
Gleiche Antwort wie meine, aber prägnanter und du hast mich dazu geschlagen. +1 – David
@DavidStratton Danke. Irgendwann mal aufwendiger ist besser :) –
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.
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.
- 1. FTP Hochgeladene Datei ist beschädigt
- 2. FileSystemWatcher für FTP
- 3. Ist F # bereit für die Produktionsumgebung?
- 4. jQuery Event-Verarbeitung und die Bereit-Funktion
- 5. Wann überwindet die parallele Verarbeitung die sequentielle Verarbeitung?
- 6. Ermitteln, wann stringByEvaluatingJavaScriptFromString beendet ist
- 7. Wann ist es gut, FTP zu verwenden?
- 8. Zip eine Datei mit FTP/PHP
- 9. Ermitteln Sie, ob eine Auflistung ein Verzeichnis oder eine Datei in Python über FTP ist
- 10. FileSystemWatcher - wie zu bestimmen, wenn die Datei geschlossen ist?
- 11. Mit tkinter eine FTP-Anwendung erstellen, die Datei aus Dialogfeld
- 12. Dateizugriffsfehler mit FileSystemWatcher beim Lesen der Datei mit Windows-Dienst
- 13. Ermitteln, wann eine Excel-Arbeitsmappe mit Delphi geschlossen wurde
- 14. Datei asynchron herunterladen mit FTP
- 15. Ist HttpPostedFile.ContentType eine fehlerfreie Möglichkeit, eine hochgeladene Datei zu validieren?
- 16. Ist JRuby für die Produktion bereit?
- 17. Datei mit FTP hochladen mit nant
- 18. Ermitteln, ob eine Datei geöffnet ist
- 19. Ist Android Studio für die Produktion bereit?
- 20. ist MS Velocity bereit für die Produktion?
- 21. Ermitteln, wann UITextField die Zeichenfolge eingefügt wird
- 22. Partielle FTP-Upload mit storbinary
- 23. Ist Caja bereit für die Produktion?
- 24. Ist es möglich, Dateien von FTP zu FTP mit PHP
- 25. Eine hochgeladene Datei in CodeIgniter umbenennen
- 26. FileSystemWatcher
- 27. Wie hochgeladene Datei
- 28. FileSystemWatcher Auslöser für Filestream öffnen
- 29. C#: ftp-Upload ist erfolgreich, aber dowloaded Datei beschädigt ist
- 30. Falsches Verhalten von FileSystemWatcher mit Samba
Wie könnten Sie möglicherweise wissen, dass, wenn Sie die Größe der Datei vorher wissen? –
@JJD könnte es festes Format oder etwas sein, wo es möglich ist festzustellen, ob das Ende der Datei erreicht ist. –