<div|button|input type="file"|ngf-select|ngf-drop... ngf-select="" or "upload($files, ...)" <!-- called when files are selected or cleared --> ngf-drop="" or "upload($files, ...)" <!-- called when files being dropped You can use ng-model or ngf-change instead of specifying function for ngf-drop and ngf-select function parameters are the same as ngf-change --> ngf-change="upload($files, $file, $new