Additionally, it is possible that a virus might be interfering with uploads (as you suspected), or even certain anti-virus programs (although this is rare). Make sure your anti-virus software is up-to-date, and use a good anti-SpyWare program like MalwareBytes to scan for SpyWare.

Thank you for your quick reply! The multipart/form-data certainly solves the problem of corrupted file in the server for many :) As to explain to stakeholders, I have to prove that file would not be altered by upload. I have search the web for reference but sadly could not find any :( Another problem is that the file at the client (USB) is also corrupted after uploading the file to the web server. I guess that is caused by unsafe removal of USB disk.
–
SeubeiMay 12 '11 at 8:04

@Seubei: You're welcome. The source file is corrupted?!? Then the most likely suspects are a defective USB memory stick (try the same with a file from your local hard drive, and if it doesn't get corrupted by uploading then the USB stick is the problem), or something like an actively running virus that's corrupting files (viruses are often malicious by design, after all).
–
Randolf RichardsonMay 12 '11 at 15:35

Thank you for your suggestions! Anyway, the file doesn't get corrupted when the original file is written to the USB again.
–
SeubeiMay 16 '11 at 2:36