2009-08-28 7 views
0

Je suis un peu perdu pour les mots atm donc je vais essayer d'utiliser le code maquillé pour expliquer ce que je suis en train de faire ...Téléchargement de plusieurs fichiers de formulaires unique Dir

foreach file in http://host.com/directory1/directory2/ 
    download file 

Est-ce que ne veut rien dire? J'essaye de télécharger tous les dossiers d'un répertoire indiqué d'un serveur Web où mon site Web est hébergé. Je sais comment télécharger un seul fichier à la fois, mais il y a des milliers de fichiers et je veux juste tous les fichiers dans un dossier. Hmm ... Quelqu'un peut-il donner des conseils s'il vous plaît?

merci :-)

+1

Avez-vous une liste de tous les fichiers de l'annuaire? –

+0

Avez-vous le contrôle de l'hôte? Si oui plate-forme et la langue s'il vous plaît? – AnthonyWJones

Répondre

2

Le protocole HTTP n'a pas (pour autant que je sache) ont des commandes pour les listes de fichiers (c'est pourquoi il y a FTP - Protocole de transfert de fichiers). Pouvez-vous accéder au répertoire en utilisant une connexion FTP à la place? Si oui, vous pouvez list the directory contents et download the files en utilisant des demandes FTP à la place.

0

Si vous n'avez accès http et vous n'avez pas de contrôle sur le serveur puis ...

Votre seul choix est d'utiliser une RegEx pour gratter la liste des détails du fichier du HTML envoyé dans la réponse à http://host.com/directory1/directory2/ et cela dépend bien sûr que la liste de répertoires soit activée sur le serveur.

Vous devrez ensuite boucler l'ensemble des noms de fichiers acquis et les télécharger individuellement.

0

Mon hôte ne permet pas FTP ou script ou quoi que ce soit. Mais je sais exactement combien de fichiers sont dans chaque dossier. Donc, ce que je viens juste de décider, c'est de le mettre dans une boucle for, et une fois qu'il y a la bonne quantité de fichiers qui ont été téléchargés sur mon disque dur, alors je vais me sortir de la boucle . Merci à tous pour vos réponses. Ce n'est peut-être pas la solution idéale, mais il semble que ce soit la seule solution.

-1

Ce que je fais habituellement pour ce cas est de permettre à l'utilisateur de sélectionner tous les fichiers qu'il souhaite télécharger. Les fichiers sont ensuite compressés dans une archive en utilisant SharpZipLib et je retourne ce fichier.

Vous souhaiterez peut-être limiter la taille de fichier maximale dans ce cas, en fonction de la taille ou de la compressibilité de vos données.

Questions connexes