Air中文件拖放

来源:互联网 发布:慈溪行知 编辑:程序博客网 时间:2024/05/16 14:38

1、文档内部元件的拖放:

           private function init():void            {                this.readConfigFile();                this.addEventListener(DragEvent.DRAG_ENTER, enterHandler);                this.addEventListener(DragEvent.DRAG_DROP, dropHandler);            }             private function enterHandler(event:DragEvent):void            {                var dragSource:DragSource = event.dragSource;                if(dragSource.hasFormat('createComponent'))                {                    DragManager.acceptDragDrop(this);                }            }                        private function dropHandler(event:DragEvent):void            {                var dragSource:DragSource = event.dragSource;                var compName:String = dragSource.dataForFormat('createComponent') as String;            }



2、从桌面拖拽文件到air应用程序,(这个其实和通过打开浏览窗口导入文件类似)

            private function init():void            {                this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, onDragIn);                this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,onDrop);            }            private function onDragIn(event:NativeDragEvent):void            {                if(event.clipboard.hasFormat(ClipboardFormats.FILE_LIST_FORMAT))                {                    var files:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;                    DragManager.acceptDragDrop(this);                }                else                {                    trace('-----')                }            }                        private function onDrop(event:NativeDragEvent):void            {                var files:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;                var num:int = files.length;                var fStream:FileStream;                var sourceFile:File;                for(var i:int = 0; i < num; i++)                {                    sourceFile = files[i] as File;                    if(sourceFile.extension == 'png' || sourceFile.extension == 'jpg')                    {                                                var destination:File = File.documentsDirectory;                        destination = destination.resolvePath("AIR Test/test2.bmp");                        try                        {                            sourceFile.copyTo(destination, true);                        }                        catch (error:Error)                        {                            trace("Error:", error.message);                        }                    }                }            }


3、从air程序中拖拽文件到桌面上

     待续。。。



原创粉丝点击