Google Chrome 11 prend désormais en charge le téléchargement de dossiers. Actuellement, cette fonctionnalité n'est implémentée que dans Google Docs, et je n'ai pas pu trouver de documentation API sur la façon de l'utiliser dans mon code.
D'après ce que je peux voir, vous cliquez sur le lien Télécharger le dossier dans Google Docs, qui affiche la boîte de dialogue "Rechercher un dossier" (un appel à SHBrowseForFolder par son apparence), vous sélectionnez un dossier, puis le contenu de ce dossier est importé dans Google Documents.
Étant donné que cette fonctionnalité nécessite la mise à niveau de Google Chrome vers la dernière version ou pour d'autres navigateurs exécutant une applet Java, je suppose que je peux utiliser cette fonctionnalité sur mes propres sites Web). ?
J'aimerais avoir cette fonctionnalité dans un système de gestion de contenu que je maintiens!
Vous devriez pouvoir voir une démo ici: http://html5-demos.appspot.com/static/html5storage/demos/upload_directory/index.html
Fondamentalement, cela fonctionne en configurant un attribut "webkitdirectory" sur un élément d'entrée de fichier.
<input type="file" id="file_input" webkitdirectory="" directory="">
Ensuite, lorsque l'utilisateur a sélectionné un dossier, il parcourt l'objet "e.target.files" pour obtenir une liste des fichiers inclus dans la sélection (cela vous permet d'avoir accès à ces fichiers depuis le côté client).
Le glisser-déposer est similaire, lorsque vous écoutez l'événement "ondrop" sur un élément "draggable", si un répertoire ou une sélection de fichiers est déposé sur l'élément, la propriété "files" de l'événement sera une liste de fichiers contenues dans l'opération.