2010-04-12 2 views
0

J'essaie de créer une application Web qui permettra aux utilisateurs de télécharger des fichiers en ligne. J'utilise gwt en utilisant hibernate pour la communication de base de données. Je suis capable de télécharger un fichier sur un serveur et de le stocker sur le serveur. Ce que je veux faire est d'associer les fichiers à un utilisateur.Comment stocker fileLocation et les dossiers dans un système de gestion de fichiers basé sur le Web

Je souhaite que l'utilisateur puisse créer des dossiers et stocker un fichier dans des sous-dossiers. Ma logique était d'utiliser le pattern composite pour stocker des dossiers et des fichiers avec un utilisateur, mais je trouve difficile d'implémenter ceci afin que je puisse montrer les fichiers et les dossiers dans un arbre gwt.

Quelle serait la meilleure façon d'implémenter une hiérarchie de dossiers et d'informations sur l'emplacement d'un fichier afin qu'il puisse être affiché dans un arbre gwt?

Ce que j'ai fait était un utilisateur qui tiendrait une référence à un dossier racine, puis chaque sous-dossier pourrait contenir des dossiers ou des fileLocations. J'ai utilisé le modèle composite pour implémenter la hiérarchie des fichiers, mais lorsque je veux afficher le contenu d'un dossier, j'ai besoin d'une boucle for pour chaque liste. Donc, si j'avais un dossier dans un dossier dans un dossier, il faudrait 3 boucles imbriquées pour montrer le contenu de mes dossiers.

I would like something like this.

Quelle est la meilleure façon de mettre en œuvre ce système de gestion de fichiers?

Répondre

0

Je suppose que vous ne stockez pas réellement les répertoires et les sous-répertoires en tant que répertoires et sous-répertoires réels sur le serveur. Si vous l'êtes, je voudrais simplement que Java itère le système de fichiers sur le serveur et renvoie une représentation légère côté client des fichiers et des dossiers trouvés dans votre frontal GWT pour l'affichage. Apache Commons IO (spécifiquement FileUtils.iterateFiles, ou FileUtils.listFiles, juste en dessous) peut vous aider ici. Si vous essayez d'émuler un système de fichiers dans une base de données, vous voudrez probablement faire des recherches sur la façon dont les systèmes de fichiers modernes stockent et recherchent les fichiers et comment implémenter et itérer sur ces structures de données (vous Je vais avoir besoin d'une sorte de boucle ou de récursivité). Certaines recherches sur B-trees peuvent aider, tout comme this database of data structures (les arbres seront les plus utiles).

Questions connexes