It's going to be very difficult to (on the server) check if somebody successfully downloaded a file.
I imagine if this is going to work you may need to program the download in such a way that it streams the data and do checks along the way. This does seem difficult in the end as getting access to the downloaded file (to verify it) could be troublesome and raise security concerns.
It would be easier to ask the users to do an md5 checksum. After the user downloads the file they can do the following in terminal:
user$ md5 test-file.txt
MD5 (test-file.txt) = d8e8fca2dc0f896fd7cb4cb0031ba249
This is common practice and you can list the md5 on your site so that users can manually verify the download.
Depending on what you're trying to achieve you may be able to develop something on the server that does the md5 on the clients downloaded file for you.