I've tested this on localhost so bandwidth isn't an issue. I searched Google and the solution I ran into most is using a Flash/Ajax tool to avoid this problem.
Case 1:
file: test.jpg
size: 183kb
result: < 1 s
Case 2:
file: test.mp3
size: 2.4mb
result: > 10 min