La garanzia che il download si è concluso te la puo dare solo il client, quindi direi che al massimo dovresti fare uno script con javascript (o meglio ancora usare JAVA) che a download finito lanci una chiamata AJAX sul server per scrivere nel DB.