You could also copy a 100k flag file to the system and time it. Then you would know if a user was on a slower link such as modem or some other link issue so that you did not copy down the 30MB file.

Between checking IP and a flag file you should be able to accomodate most client file copies correctly.