Wrap uploadPhoto call in $scope.apply, otherwise photo doesn't show up until next UI event.