請讓我知道如何將一個目錄從windows拖放到Adobe AIR面板上。 該文件夾內有子文件夾。子文件夾有很多文件。 我想拖動父文件夾並放下它,以便整個結構必須上傳。 請幫忙。Adobe AIR拖放目錄
1
A
回答
1
上傳文件夾相當容易。使用放置事件檢測到放置時,您將獲得提供的放棄文件列表。然後你可以確定它是否是被刪除的文件是一個文件夾,如果是,那麼你可以得到它下面列出的所有文件(包括文件),如果其中任何文件夾是文件夾,則進一步下移。
基本上,土坯空氣將文件和文件夾視爲同一個對象。
在drop事件把
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
}
}
然後,您可以通過遞歸添加文件和文件服務器需要
0
對象下面是完整的例子。只需在應用程序初始化時調用onInit()方法即可。
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);
}
相關問題
- 1. Adobe Air新項目
- 2. Adobe Air - Analytics
- 3. Adobe Air Browser
- 4. localToGlobal Adobe AIR
- 5. Adobe AIR readLine
- 6. Adobe Air和PHP
- 7. Adobe Air - window.nativeWindow undefined
- 8. Adobe Air的DeviceOrientationEvent
- 9. Adobe Air和.NET
- 10. Adobe AIR截圖
- 11. Adobe Air with Iphone
- 12. Adobe Air和Dropbox
- 13. Adobe Air for iPhone
- 14. Adobe air http auth
- 15. Adobe Air Javascript API
- 16. Adobe AIR&PHP + MySQL
- 17. Adobe AIR鎖定
- 18. Adobe Air本地FLV播放
- 19. Adobe Air - 刪除XML條目
- 20. Adobe AIR Android FileStream問題
- 21. Adobe Air SQLite誤解
- 22. Adobe Air - MySQL或SQLite
- 23. Adobe air NativeAlert iOS和Android
- 24. Adobe AIR本機擴展
- 25. Adobe Air父框架橋
- 26. Adobe Air 1.5.2和Flash Builder
- 27. Adobe AIR加載問題
- 28. Adobe AIR的解釋
- 29. Adobe Air:錯誤307
- 30. Adobe Air Security方面