Mostly it seems on the net people are doing things with images for this. For example, if someone tried to upload a 3000x2000 pixel image to a site the web page could first reduce that image to 600x400 before it uploaded it, saving tons of bandwidth and time.
I also noticed that virustotal uses this to sha-256 hash a file that you want scanned before it uploads it. Virustotal hashes the file then compares the hash to it's database. By doing this it doesn't need to actually upload the file, since it already has a copy of the file.