Folder Drop

Demo uploads land in a temporary store and are swept after 60 minutes. To keep files, handle FileUploaded — see Single File for the complete save pattern.
Directory / Folder Upload

Upload an entire folder by dropping it onto the drop zone or using the folder browse dialog. All files within the directory are uploaded.

What you should see: drop a whole folder and the tree is enumerated with relative paths preserved, so structure can be rebuilt server-side.
Drop a folder here or click to browse a directory
AjaxUploader.create(el, {
 uploadUrl: '/ajaxupload.axd/upload',
 multiple: true,
 autoUpload: true,
 dropTarget: zone,
 webkitdirectory: true,
 onTaskComplete: function(task) {
 // task.relativePath: 'folder/sub/name.ext' - also sent to the server
 // (relativePath form field / chunk-complete body) and surfaced in the
 // FileUploaded event as e.RelativePath for tree-preserving saves.
 log((task.relativePath || task.fileName) + ' uploaded');
 }
});