Validez la taille du fichier avant de télécharger pour le type d'entrée = fichier en utilisant angularjs

J'ai un type de saisie = élément de fichier dans ma forme. Je souhaite créer une directive personnalisée pour vérifier la taille du fichier dès que je sélectionne un fichier à l'aide de l'élément de saisie. Je sais comment créer une création d'une directive personnalisée, mais existe-t-il un moyen d'angularjs pour déterminer la taille du fichier de l'élément sélectionné. Aucun Jquery ne doit être utilisé.

Le code js:

app.directive('checkFileSize',function(){ return{ require: 'ngModel', link: function(scope, elem, attr, ctrl) { // add a parser that will process each time the value is // parsed into the model when the user updates it. ctrl.$parsers.unshift(function (value) { //i want to do something like this var fileSize= // get file size here if(fileSize>threshold){ ctrl.$setValidity('checkFileSize',false); } // return the value to the model, return someValue; }); } } }); 

Comment vérifier la taille du fichier à partir d'une directive:

 app.directive('checkFileSize',function(){ return{ link: function(scope, elem, attr, ctrl) { $(elem).bind('change', function() { alert('File size:' + this.files[0].size); }); } } }); 

Version non jquery:

 app.directive('checkFileSize', function() { return { link: function(scope, elem, attr, ctrl) { function bindEvent(element, type, handler) { if (element.addEventListener) { element.addEventListener(type, handler, false); } else { element.attachEvent('on' + type, handler); } } bindEvent(elem[0], 'change', function() { alert('File size:' + this.files[0].size); }); } } }); 

http://plnkr.co/edit/ybuk6K6YNTIwnLTK5I6Z?p=preview