Blog de Fennecos Un blog Flex!!

7mar/100

Drag&Drop de fichier dans Air

Voici comment faire simplement un drag&drop de fichier dans une application air :

Tout d''abord il faut ajouter les écouteur dragEnter et dragDrop

component.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragEnter);
component.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, onDragDrop);

Ensuite les fonctions onDragEnter et onDragDrop

private function onDragEnter(e:NativeDragEvent):void
{
        //On vérifie qu''il y a bien des fichiers
        if(e.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT))
        {
                //On récupère le tableau de fichier
                var files:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
               
                //On regarde si tous les fichiers on bien la bonne extension (ici jpg)
                var dragable:Boolean = true;
                for each(var file:File in files)
                {
                        if(file.extension != "jpg")
                                dragable = false;
                }
       
                //On accepte le drop
                if(dragable)
                        DragManager.acceptDragDrop(mediatheque);
       
        }
}
       
private function onDragDrop(e:NativeDragEvent):void
{
        //On récupère le tableau de fichier
        var arr:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
       
        var f:File;
        //On crée un FileStream pour travailler sur les fichiers
        var fs:FileStream;

        //Pour chaque fichiers dans le tableau
        for each(f in arr)
        {
                //On ouvre le fichier
                fs.open(f, FileMode.READ);
                /* Opérations sur le fichier */
                fs.close();
        }
}

Et voilà =)

Commentaires (0) Trackbacks (0)

Aucun commentaire pour l'instant


Laisser un commentaire


Aucun trackbacks pour l'instant