(function () { 'use strict'; angular.module('app').controller('upload', upload); upload.$inject = ['$scope', 'mediaUploader', 'FileUploader']; function upload($scope, mediaUploader, FileUploader) { /* jshint validthis:true */ var vm = this; vm.url = 'api/upload/'; vm.uploader = new FileUploader({ url: vm.url }); vm.uploader.filters.push({ name: 'imageFilter', fn: function (item, options) { var type = '|' + item.type.slice(item.type.lastIndexOf('/') + 1) + '|'; return '|jpg|png|jpeg|bmp|gif|'.indexOf(type) !== -1; } }); $scope.$on("clearQueue", function (event, args) { vm.uploader.clearQueue(); }); vm.uploader.onCompleteItem = function (fileItem, response) { mediaUploader.setImageUrl(response); }; } })();