Adobe Air拖放文件例子
作者强调,在AIR中实现拖拽操作要用到的标签就是DragManager?,实现的原理大致上是如下的步骤:
1.当用户拖拽一个文件到AIR应用,AIR应用通过侦听NativeDragEvent.NATIVE_DRAG_ENTER,捕获到拖拽事件
- private function onDrop(event:NativeDragEvent):void {
- var airData:Object=event.clipboard.formats;//读取剪切板
- for each(var type:String in airData) {
- if (type != "air:url") {
- var airObjects:Array=event.clipboard.getData(type)as Array;//获取剪切板中的数据
- var inFile:File=airObjects[0]as File;//获取剪切板中的文件
- var fileInStream:FileStream=new FileStream();//文件流
- var contentArray:ByteArray=new ByteArray();
- fileInStream.open(inFile, FileMode.READ);
- fileInStream.readBytes(contentArray);//读取字节保存到contentArray
- picture.source=contentArray;
- savePictureObject(inFile.name, contentArray);//保存到数据库
- }
- }
- function savePictureObject(label:String, pictureObject:ByteArray):void {
- pictureObjectDao.savePictureObject(label, pictureObject);
- addedPictureObjects=pictureObjectDao.getAllPictureObjects();
- }
- }