Keep track of which user fully downloaded a file
If you have file_entity installed, you can use hook_file_transfer() with a custom function my_custom_registration($file, $user) that registers which user downloaded which file
The starting code for that is :

/**
 * Implements hook_file_transfer().
 *
 * @param type $uri
 */
function my_module_file_transfer($uri) {
  global $user;
  $files = file_load_multiple(array(), $conditions = array('uri' =&gt; $uri));
  if (!empty($files)) {
    $file = reset($files);
    my_custom_registration($file, $user);
  }
}


hope this helps