I already answered this question
here[
^]; please do not post in multiple forums, it just confuses the issue.
The issue being: read your file as a byte stream and send it to the client. The client should save as a byte stream. The client copy of the file should be an exact copy of the original. If this is not the case then I suspect you are not following the above model.