The log records show the amount of traffic exchanged. For instance,
The "1533" is the number of bytes transferred in response to that request. In this case it is the size of "welcome.gif".
10.10.10.10 - - [06/Aug/2012:11:01:39 -0400] "GET /images/welcome.gif HTTP/1.1" 200 1533 "https://www.example.com/" "Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1"
It's pretty rare that people cancel out in the middle of a download unless we're talking about files in the 100s of megabytes, and even then I'd be surprised if aborted downloads constituted more than a couple of percent of all transfers.
One solution is to use a web log parser like analog. It will construct reports that include the number of transfers for each file and the total amount of traffic involved.