I used xmlhttprequest to send the files to my server, the code looked like this:
Code:
load     : function(cmp, e, file) {
            console.log("Done Reading");
            var formData = new FormData();
            var xhr = new XMLHttpRequest();


            var onProgress = function(e) {
              if (e.lengthComputable) {
                var percentComplete = (e.loaded/e.total)*100;
              }
            };


            var onReady = function(e) {
             // ready state
            };


            var onError = function(err) {
              // something went wrong with upload
            };


            formData.append('files', file);
            xhr.open('post', '/upload', true);
            xhr.addEventListener('error', onError, false);
            xhr.addEventListener('progress', onProgress, false);
            xhr.send(formData);
            xhr.addEventListener('readystatechange', onReady, false);


        },
The chrome debugger says the upload was cancelled but all files arrive in full on server side (maybe it says cancelled from lack of response?)
I'm using node.js server side if anyone is interested the code there uses formidable and looks like this:
Code:
var form = new formidable.IncomingForm();
  form.uploadDir = __dirname + '/testUpload';
  form.encoding = 'utf-8';
  form.keepExtensions = true;


  form.hash = false;
  form.on('fileBegin', function(field, file) {
                file.path = form.uploadDir + '/' + file.name;
                console.log("File Upload Started");
              });
  form.addListener('file', function(name, file) {
                console.log(file.path);
   });             
  form.addListener('end', function() {
    res.end();
  });


  form.parse(req, function(err, fields, files) {
    if (err) {
      console.log(err);
    }
Thanks