2008-08-17 11 views
4

Est-il possible dans .NET de répertorier des fichiers sur un emplacement distant comme une URL? Tout comme les classes System.IO fonctionnent de la même manière. Tout ce dont j'ai besoin, ce sont les URL des images qui se trouvent sur un serveur distant.C# .NET répertoriant le contenu des fichiers distants

Répondre

4

Réponse courte: Non, sauf si vous avez plus de contrôle sur ce serveur web

Réponse longue: Voici des solutions possibles ...

  1. Vous aurez besoin côté serveur script qui le fera localement et affichera cette liste dans votre format préféré.

  2. La plupart des serveurs Web implémentent des pages de navigation de fichiers par défaut, donc vous pouvez théoriquement les analyser mais cette solution sera très fragile et peu portable même entre différentes versions du même serveur Web.

  3. Si vous avez accès FTP ...

2

Est-il possible dans .NET pour lister les fichiers sur un emplacement distant comme une URL?

Vous devez spécifier le protocole dont nous parlons.

Pour HTTP, lubos hasko a fourni la réponse: non. HTTP n'a pas de concept de fichiers; seulement des ressources. Si vous avez le contrôle sur le serveur Web, vous pouvez lui demander de fournir une liste de répertoires ou, mieux encore, vous pouvez écrire du code qui répertorie le répertoire côté serveur pour vous. Sans un tel contrôle, compter sur le serveur pour fournir une liste, qui 1) peut être désactivé pour des raisons de sécurité, 2) est non normalisé dans son format, 3) sera, comme lubos dit, fragile à analyser ("scrape"). Si vous voulez dire/si le serveur fournit un protocole destiné au transfert de fichiers, tel que FTP, SMB/CIFS, etc., ce sera beaucoup plus facile. Par exemple, pour FTP, vous voudrez regarder dans WebRequestMethods.Ftp.ListDirectoryDetails.

Questions connexes