Неизвестный провайдер: $uploadProvider ‹- $upload

Кто-нибудь знает, почему я получаю Неизвестный провайдер в этом коде Angular?

Я использую директиву Angular File Upload и использую этот пример:

http://www.mono-software.com/blog/post/Mono/233/Async-upload-using-angular-file-upload-directive-and-net-WebAPI-service/

Просто не могу понять, почему я получаю эту ошибку...

файл module.js:

angular.module('photoApp', ['ngRoute']);

файл scripts.js:

    // configure our routes
    angular.module('photoApp').config(function ($routeProvider) {
    $routeProvider

            // route for the home page
            .when('/', {
                templateUrl: 'Pages/home.html',
                controller: 'mainController'
            })

            // route for the contact page
            .when('/uploadphoto', {
                templateUrl: 'Pages/photoupload.html',
                controller: 'photoUploadController'
            });
});

// create the controller and inject Angular's $scope



    angular.module("photoApp").controller('photoUploadController',
    function ($scope, $http, $timeout, $upload) {
        $scope.message = 'Upload your photo';

        $scope.upload = [];
        $scope.fileUploadObj = { testString1: "Test string 1", testString2: "Test string 2"         
    };

        $scope.onFileSelect = function($files) {
            //$files: an array of files selected, each file has name, size, and type.
            for (var i = 0; i < $files.length; i++) {
                var $file = $files[i];
                (function(index) {
                    $scope.upload[index] = $upload.upload({
                        url: "./api/file/upload", // webapi url
                        method: "POST",
                        data: { fileUploadObj: $scope.fileUploadObj },
                        file: $file
                    }).progress(function(evt) {
                        // get upload percentage
                        console.log('percent: ' + parseInt(100.0 * evt.loaded / evt.total));
                    }).success(function(data, status, headers, config) {
                        // file is uploaded successfully
                        console.log(data);
                    }).error(function(data, status, headers, config) {
                        // file failed to upload
                        console.log(data);
                    });
                })(i);
            }
        }

        $scope.abortUpload = function(index) {
            $scope.upload[index].abort();
        }
    });

person Terje Nygård    schedule 24.06.2014    source источник


Ответы (1)


Просто добавьте зависимость от angularFileUpload и обязательно укажите файлы JS в правильном порядке, и все будет готово.

index.html

<script src="angular-file-upload-shim.min.js"></script> 
<script src="angular.min.js"></script>
<script src="angular-file-upload.min.js"></script> 

module.js

angular.module('photoApp', ['ngRoute', 'angularFileUpload']);
person domokun    schedule 24.06.2014
comment
Вау.. спасибо, приятель :) Так что... то же самое касается f.eks. файл dataFactory.js, который я использую для связи с остальными службами? - person Terje Nygård; 25.06.2014
comment
Ну, это зависит от что это dataFactory.js. Как правило, если вы добавляете новую функциональность в свое приложение, вам нужно указать ее как зависимость. См. docs.angularjs.org/guide/di. - person domokun; 25.06.2014