Veuillez me faire savoir comment puis-je faire glisser et déposer un répertoire à partir de Windows sur le panneau Adobe AIR. Le dossier contient des sous-dossiers. Les sous-dossiers ont beaucoup de fichiers. Je veux faire glisser le dossier parent et le déposer de sorte que toute la structure doit être téléchargée. S'il vous plaît aider.Adobe AIR glisser-déposer du répertoire
1
A
Répondre
1
Il est plutôt facile de télécharger des dossiers. Lors de la détection d'une chute à l'aide de l'événement drop, vous obtenez la liste des fichiers supprimés. Vous pouvez ensuite déterminer si le fichier déposé est un dossier, et si c'est le cas, alors vous pouvez obtenir tous les fichiers listés sous (y compris les fichiers) et si ceux-ci sont des dossiers, alors recurse plus bas.
Fondamentalement, Adobe Air traite les fichiers et les dossiers comme le même objet.
En cas de chute mis
var files = event.dataTransfer.getData("application/x-vnd.adobe.air.file-list");
var fileData = [];
for (var f = 0; f < files.length; f++)
{
if (files[f].isDirectory) {
//process this folder recursing through subfolders
} else {
//we have a file
}
}
Vous pouvez ensuite récursif à travers l'objet l'ajout de fichiers et fichiers sur le serveur selon les besoins
0
Voici l'exemple complet. Appelez simplement la méthode onInit() lors de l'initialisation de l'application.
private function onInit(event:FlexEvent):void
{
this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragIn);
this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDrop);
}
private function onDragIn(event : NativeDragEvent):void
{
NativeDragManager.acceptDragDrop(this);
}
private function onDrop(event : NativeDragEvent):void
{
try
{
var dropfiles:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
processDroppedFiles(dropfiles);
}
catch (error : IOError)
{
trace("Error during drag-and-drop procedure.");
}
}
private function processDroppedFiles(files : Array):void
{
for each (var file:File in files)
{
if (file.isDirectory)
{
processDirectory(file);
}
else
{
processFile(file);
}
}
}
private function processDirectory(dir : File):void
{
processDroppedFiles(dir.getDirectoryListing());
}
private function processFile(file:File):void
{
trace(file);
}
Questions connexes
- 1. Comment exécuter une application adobe air sans Adobe Air Player?
- 2. Adobe air http auth
- 3. Thèmes dans Adobe AIR
- 4. Récupère l'utilisateur du système d'exploitation actuellement connecté dans Adobe Air
- 5. Qu'est-ce que Adobe Air?
- 6. Intégration Adobe Flex/AIR Maven
- 7. Décomposition des applications Adobe AIR
- 8. Sockets Adobe Air et SSL
- 9. certificat commercial pour Adobe AIR
- 10. Plusieurs fenêtres dans Adobe AIR
- 11. Intégrité des applications Adobe AIR
- 12. Ext Js et Adobe Air
- 13. Partage d'écran dans Adobe Air
- 14. Création d'habillage comme Adobe Kuler pour une application Adobe Air
- 15. comment installer adobe air sdk dans linux?
- 16. Impression dans Adobe AIR - Génération PDF autonome
- 17. Parsing fichiers texte volumineux avec Adobe AIR
- 18. Adobe AIR/FLEX tutoriel de programmation
- 19. Adobe AIR chrome personnalisé en L
- 20. Rayon d'angle dans l'application Adobe Air
- 21. Consommer l'API REST avec Adobe Air
- 22. Adobe Air 1.5.2 et Flash Builder
- 23. Télécharger un fichier avec Adobe AIR
- 24. Comment créer une petite application Adobe AIR?
- 25. Adobe AIR pour exécuter le programme
- 26. Modifier l'attribut de fichier dans Adobe Air
- 27. Le fichier Adobe Air évite d'ouvrir
- 28. Protection de fichiers dans Adobe AIR (Flex)
- 29. Outils de développement pour Adobe Flex/AIR?
- 30. Problème d'installation des fichiers source dans Adobe AIR