app .directive('batuCmsFileSelect', function () { return { restrict: 'A', require: "ngModel", link: function ($scope, $element, $attr, $ngModelController) { $ngModelController.$parsers.push(function (value) { if (!value) { return false; } var reader = new FileReader(); var item = { realname: value.name, type: value.type, size: value.size, data: null }; reader.onload = function (event) { $ngModelController.$$scope.$apply(function () { item.data = event.target.result; }); }; reader.readAsDataURL(value); return item; }); } }; });