/ Published in: ActionScript 3
Expand |
Embed | Plain Text
Copy this code and paste it in your HTML
<?xml version="1.0" encoding="utf-8"?> <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="init()"> <mx:Script> <![CDATA[ import flash.desktop.DragActions; import mx.controls.Alert; import mx.controls.Image; import flash.filesystem.File; import flash.desktop.TransferableData; import flash.desktop.TransferableFormats; import flash.events.NativeDragEvent; import flash.desktop.DragManager; private function init():void{ this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,onDragIn); this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,onDrop); this.addEventListener(NativeDragEvent.NATIVE_DRAG_EXIT,onDragExit); } public function onDragIn(event:NativeDragEvent):void{ DragManager.acceptDragDrop(this); } public function onDrop(event:NativeDragEvent):void{ DragManager.dropAction = DragActions.COPY; var dropfiles:Array = event.transferable.dataForFormat(TransferableFormats.FILE_LIST_FORMAT) as Array; for each (var file:File in dropfiles){ switch (file.extension){ case "png" : addImage(file.nativePath); break; case "jpg" : addImage(file.nativePath); break; case "gif" : addImage(file.nativePath); break; default: Alert.show("Unmapped Extension"); } } } public function onDragExit(event:NativeDragEvent):void{ trace("Drag exit event."); } private function addImage(nativePath:String):void{ var i:Image = new Image(); if(Capabilities.os.search("Mac") >= 0){ i.source = "file://" + nativePath; } else { i.source = nativePath; } this.addChild(i); } ]]> </mx:Script> </mx:WindowedApplication>
URL: http://blog.everythingflex.com/2007/06/18/simple-drag-and-drop-air/