Извините, это не прямой ответ на ваш вопрос, но вы можете рассмотреть файловый API HTML5 с XMLHttpRequest.
var req = new XMLHttpRequest();
req.upload.addEventListener("progress", updateProgress, false);
// ...
req.open();
// ...
Есть несколько примеров developer.mozilla.org .
Недостатком является то, что это зависит от браузера.Плюс в том, что он независим от сервера.Но в конечном итоге это будет лучший способ отслеживать загрузку файлов.