angular-file-upload is an unmaintained lightweight cross-browser AngularJS directive for uploading files, with a feature set including file and directory drag and drop, upload progress, cancel/abort, and client-side file validation.