2011-08-02 4 views
0

Je crois que cette question a été posée sous différentes formes, mais j'ai lu pas mal de réponses différentes. Au début, j'avais une application web écrite avec principalement jQuery qui utilisait des servlets pour récupérer des informations à partir de divers endroits auxquels JavaScript n'avait pas accès (flux, images d'un serveur, etc.). Maintenant, cependant, on m'a dit de supprimer les servlets et les classes de configuration d'applications pour que ce projet ne contienne que HTML, CSS et JavaScript/jQuery. Plutôt que de retirer les images du serveur, j'ai besoin de les récupérer à partir d'un fichier local sur l'ordinateur. Je sais que cela peut sembler être une conception terrible, mais c'est ce qu'on m'a demandé de faire. Quoi qu'il en soit, ce que je dois vraiment faire est de compter le nombre de fichiers image dans un répertoire, puis peut-être compiler un tableau des noms de fichiers eux-mêmes. Je pourrais faire cela très bien en Java en utilisant les servlets, mais sans eux, je ne sais pas comment ou même si cela peut être fait. J'essaie fondamentalement d'utiliser le plug-in jQuery Cycle pour faire défiler ces images comme un diaporama. J'injecte (ou $ ("# div"). Append()) ces images dans le div en utilisant une boucle basée sur le nombre d'images présentes.Accéder aux fichiers locaux avec jQuery

Alors, y a-t-il un moyen de faire cela en utilisant JavaScript, HTML, plugin jQuery, etc? Je voudrais éviter d'utiliser PHP et Java à ce stade ...

+1

Vous ne pouvez pas accéder au système de fichiers local de la manière que vous décrivez à partir de JavaScript uniquement dans un navigateur. Avec les API de fichiers HTML5, vous avez un certain accès aux fichiers * contenus *, mais pas aux listes de répertoires. – Pointy

+0

Hmmm ... C'est ce dont j'avais peur. Je pense avoir vu un plugin jQuery qui vous donne accès à une arborescence de fichiers quelconque, mais celui que j'ai vu semble simplement permettre à l'utilisateur d'explorer physiquement ses répertoires lui-même avec une interface utilisateur ... Je ne sais pas si le code lui-même peut accéder aux fichiers eux-mêmes, cependant. –

+0

Si mon employeur ne demandait pas ou ne respectait pas mes commentaires sur un projet, il deviendrait rapidement un ancien employeur. –

Répondre

0

Vous ne pouvez pas simplement lire un répertoire avec JavaScript; cependant, il semble y avoir un moyen d '"exploiter" le fonctionnement des navigateurs en utilisant http://www.irt.org/articles/js014/. Ce n'est peut-être pas joli, mais la démo fonctionne dans les derniers Chrome et IE7-9 pour moi. Je suis sûr que certaines techniques pourraient être mises à jour pour utiliser du code plus propre si vous voulez l'améliorer.

EDIT: Une autre technique vous pouvez utiliser peut être trouvée dans Javascript read files in folder

Il semble certainement être une solution plus propre. Ce que je recommande est d'extraire le contenu du corps à injecter dans un div caché ou en utilisant le chemin pour un iframe que vous pouvez lire.

+2

Cet exemple "irt.org" est pour lire les fichiers qui existent ** sur le serveur **, pas sur le client. – Pointy

+0

Cette deuxième méthode semble fonctionner. Donc, en appelant AJAX GET sur le dossier du répertoire avec les images, le HTML standard est retourné qui peut être analysé pour trouver les noms de fichiers d'image que je veux? Semble assez simple, plus ou moins. Merci. –

+0

Je suppose que l'utilisation de fichiers locaux n'était pas complètement claire. Je pensais qu'il voulait dire du serveur local. – Akkuma

Questions connexes