2013-06-09 3 views
1

J'ai un système de téléchargement de fichiers assez simple. Chaque fois que plusieurs fichiers sont téléchargés, il crée un nouvel enregistrement dans la base de données et stocke le nom de fichier sous le champ file_leaf. Dans l'application, vous pouvez créer des sous-dossiers et ils sont indiqués par le booléen branch.Téléchargement de fichier JQuery et Carrierwave pour détecter les dossiers et sous-dossiers

enter image description here

PARENT_ID est utilisé pour déterminer si un fichier appartient à un dossier. Dans cet exemple, Sub Folder est un dossier appartenant à Test Main Folder. baby_3.jpg est un fichier appartenant au dossier Test Main Folder.

J'ai des situations dans lesquelles je vais glisser et déposer les fichiers d'un dossier. Ce dossier peut contenir des sous-dossiers et des fichiers dans le sous-dossier. Comment est-ce que je pourrais obtenir que carrierwave comprenne que la source de cette image était dans un sous-dossier, crée l'enregistrement pour le sous-dossier et joint ensuite le parent_id au dossier de l'id du sous-dossier?

enter image description here

Répondre

1

Je ne pense pas que ce soit possible. Voir ici: http://www.codeproject.com/Questions/573788/HoeplustoplusGetplustheplusOriginalplusfilepluspat

Il semble que vous ne puissiez pas connaître le contexte du fichier téléchargé sur le système d'exploitation source. Par conséquent, vous ne pouvez pas créer sa structure de dossier parent d'origine sur votre système.

+0

Comment l'interface Web de Dropbox peut-elle alors la détecter? Je n'ai pas authentifié Dropbox pour la surveillance du nom de fichier d'origine (généralement trouvé avec Java Web Based Applications et/ou les applets Flash). De plus, le service Dropbox n'est pas installé sur mon ordinateur. – kobaltz

+0

En fait, il semble que Dropbox utilise SWFUpload qui est un téléchargeur basé sur le flash, ce qui signifie qu'il peut scanner le dossier d'origine de votre ordinateur. – kobaltz

Questions connexes