When you do the round trip for the validation, the uploaded file gets lost. Even if you somehow preserve it, you cant set the value for file upload control for security reasons as mentioned in these answers: File upload answer 1 and File upload answer 2
The workaround for this is to use client side validation. If you are using jQuery, you can take a look uses of jQuery validations in these samples: Sample1 and Sample2