Custom binding is one option, other than that, you can do in a following way,
<input type="file" data-bind="event: {change: changeMethod}">
Now in that changeMethod form the event argument you can get the files.
self.changeMethod = function(data, event)
{
self.file (event.currentTarget.files[0]);
self.fileSize(event.currentTarget.files[0].size);
}
In this way you can validate on the model value also.
Regards,
Rakesh