首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TypeError: Upload.upload不是一个函数

TypeError: Upload.upload不是一个函数
EN

Stack Overflow用户
提问于 2016-06-28 09:37:19
回答 1查看 3.8K关注 0票数 4

我有这个函数,它抛出异常:

代码语言:javascript
复制
$scope.uploadAvatar = function(avatar, user) {
   Upload.upload({
        url: 'api/v1/user' + user.id + '/',
        avatar: avatar,
        method: 'put'
    })
};

TypeError: Upload.upload不是一个函数

我的剧本包括:

代码语言:javascript
复制
    <script src="/static/js/main.js"></script>
    <script src="/static/js/bootstrap.min.js"></script>
    <script src="/static/js/posts_controller.js"></script>
    <script src="/static/js/jquery.equalheights.min.js"></script>
    <script src="/static/js/video.js/video.js"></script>
    <script src="/static/js/swiper.jquery.min.js"></script>
    <script src="/static/ng-file-upload/FileAPI.js"></script>
    <script src="/static/ng-file-upload/ng-file-upload.js"></script>
    <script src="/static/ng-file-upload/ng-file-upload-all.js"></script>
    <script src="/static/ng-file-upload/ng-file-upload-shim.js"></script>
    <script src="/static/ng-file-upload/ng-file-upload.js"></script>

因此,我在我的控制器中注入了'Upload‘,在模块我的控制器中插入了'ngFileUpload’:

代码语言:javascript
复制
myApp.controller('ShowsListController', ['$scope', '$http', '$routeParams', '$location', '$route', 'Upload', function ($scope, $http, $routeParams, $route, Upload) {

    $http.get('/api/v1/shows/').success(function (data) {
        $scope.shows = data;
    });


    $http.get('/check_login/').success(function (data) {
        $scope.mediaurl = data.mediaUrl;
        $scope.user = data;

    });



    $http.get('/api/v1/actors/').success(function (data) {
        $scope.actors = data;
    });

    $http.get('/api/v1/users/').success(function (data) {
        $scope.users = data;
    });


    $scope.uploadAvatar = function (avatar, user) {

        Upload.upload({
            url: 'api/v1/users' + user.id + '/',
            avatar: avatar,
            method: 'put'
        })
    };

}]);

使用以下功能添加我的控制器

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-28 09:54:47

在控制器声明中,您在$location之后注入了$routeParams,但忘记将它传递到函数中。

由于您使用的是内联数组注释,因此需要使注释数组与函数声明本身中的参数保持同步。

代码语言:javascript
复制
myApp.controller('ShowsListController', ['$scope', '$http', '$routeParams', '$location', '$route', 'Upload', function ($scope, $http, $routeParams, $location, $route, Upload) {
 // your current code
}

有关更多信息,请参见文档

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38072486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档