2010-12-06 4 views
0

Je crée un programme qui télécharge des fichiers à partir de divers types de serveurs, tels que des chemins réseau ou des serveurs HTTP, selon des critères. Jusqu'à présent, je l'ai basé sur une regex, mais je voudrais aussi qu'il trouve des fichiers plus récents (accédés, modifiés ou créés) qu'une date donnée. C'est facile dans le type de chemin de réseau parce que je peux accéder au FileInfo pour ce fichier, mais tout ce que j'ai dans mon serveur FTP est une chaîne 'line' qui évidemment ne contient que le nom du fichier.Obtenir des informations sur les fichiers (dates d'accès/de modification) à partir du serveur FTP (C#)

Est-il facile/possible d'accéder aux dernières dates modifiées/accédées/créées pour un fichier sur un serveur FTP en C#?

Répondre

0

Malheureusement FTP ne fournit que des informations limitées sur le fichier distant. Avec la commande LIST par défaut, vous obtenez une réponse spécifique au système d'exploitation où une date est généralement présente (il s'agit généralement de la dernière modification). Avec les commandes d'extension MLST/MLSD, vous obtenez une chaîne de réponse machine-parsable, mais aussi avec une seule fois.

La manière exacte d'obtenir la date dépend du composant ou de la classe que vous utilisez pour accéder au serveur FTP.

Si vous devez obtenir plus d'une date (par exemple, la date de création et le dernier accès), et que vous pouvez utiliser la route SFTP, je vous recommande d'utiliser SFTP à la place.

+0

Merci mon pote, J'utilise la méthode System.Net.Mail et trouvé un moyen de lire * a * l'horodatage, ce qui suffira. Pour quelqu'un d'autre, c'est simplement la méthode getdatetimestamp de la requête web ftp. – Chris

-1

Vous pouvez utiliser une bibliothèque tierce telle que edtFTP pour vous connecter au serveur FTP et inspecter la dernière modification/création (ne sachant pas si vous pouvez obtenir l'horodatage du dernier accès accédé). Sa bibliothèque assez facile à utiliser:

Questions connexes