Довольно легко загружать папки. При обнаружении сброса с помощью события drop вы получаете список файлов, которые были отброшены. Затем вы можете определить, является ли удаленный файл папкой, и если это так, то вы можете получить все файлы, перечисленные в нем (включая файлы), и, если какая-либо из них является папкой, выполнить повторный поиск далее.
По сути, Adobe Air рассматривает файлы и папки как один и тот же объект.
В событие выпадения положить
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
}
}
Затем вы можете выполнить рекурсию через объект, добавляя файлы и файлы на сервер по мере необходимости