2010-09-28 6 views
1

Je veux obtenir du contenu pour chaque fichier situé sur FTP. Je vais le développer avec FTPWebRequet dans C# Windows Application. Mais je cherche la meilleure et la juste façon de le faire.C# FTPWebRequête pour lire plusieurs fichiers

Par exemple, je suis à la recherche d'un fichier comme

tmpReq = (FtpWebRequest)FtpWebRequest.Create("ftp://" + Settings.Default.IP + "/953077/Inserted/XMLComp" + CryptoHelper.Decrypt(Settings.Default.RegCode) + ".xml"); 

mais comment puis-je faire pour plusieurs fichiers

en boucle je peux créer FtpWebRequest et modifier le nom XMLComp95202. Mais je pense que ce n'est pas la meilleure façon de le faire

Répondre

0

Je suppose que vous ne connaissez pas le nom des fichiers que vous voulez sur le serveur FTP - correct? Sinon, vous devrez obtenir un répertoire de fichiers et faire une boucle sur les résultats. . Vérifiez WebRequestMethods.FTP « méthodes »

+0

non je connais les noms de fichier. pour l'exemple XMLComp "+ CryptoHelper.Decrypt (Settings.Default.RegCode) +" .xml est égal à XMLComp952025.xml ou XMLComp952026.xml – AEMLoviji

+0

dans la boucle je peux créer FtpWebRequest et changer le nom de fichier XMLComp95202 . Mais je pense que ce n'est pas la meilleure façon de le faire de cette façon – AEMLoviji

+0

Ah - Eh bien, si vous utilisez MS FTP utilitaire, je ne pense pas qu'ils ont trop amélioré le protocole de base - Vous pouvez consulter d'autres implémentations (telles que Dart) fournir des fichiers multiples obtient – bigtang

0

Vous devez utiliser:

request.Method = WebRequestMethods.Ftp.ListDirectoryDetails;

Vous devez vous connecter avec le chemin principal d'abord, je veux dire, si les fichiers sont ftp://.../files/, vous devez obtenir le réponse d'abord de ce pathm basé sur la demande de répertoire, puis vous recevez une grande chaîne de tous les fichiers contenus dans ce dossier. En utilisant une méthode récursive, pour chaque ligne, vous devez refaire une demande.

Questions connexes