$scope.$watch and ng-change not works for input file, AngularJS do not support Input file binding yet.