How to detect cancelled download?
Well, assuming cancelling a download == incomplete download == client disconnected before server was done, you could create a flag like this at the top of the function:

bool dload_cancel = false;


Change the IF block, below the innermost WHILE loop, to this:

if (count){
  if (client.connected())
    client.write( buffers, count);
  else {
    dloadCancel = true;
    break;
  }
}


The flag will be set once your server checks and discovers that the client has been disconnected. You can check the state of the flag outside the DO-WHILE block to know if the download was completed or not. 

if (dloadCancel){
  // client was disconnected; download did not complete
}


dloadCancel is also a better indicator of a completed download than your fileDownload flag.

You should also know that this:

if (0 &gt; c)
    done = true;


is redundant. Its already taken care of by webFile.available().