【问题标题】:Multiple Image uploading error in angularjsangularjs中的多个图像上传错误
【发布时间】:2016-05-23 14:39:06
【问题描述】:

我在 AngularJS 上上传多张图片时遇到了一个问题。这是我的代码和我遇到的错误。

$scope.saveFile = function(file) {
  return Upload.upload({
    url: CONFIG.apiUrl + '/fileupload',
    data: {
      fileUpload: file
    }
  }).success(function(data) {
    console.log("RSPPPPPPP", data.file._id);
    $scope.photoId = data.file._id;
    console.log("sdvfbghjm,kjhgfdsa", $scope.photoId);
  })
  return $scope.saveFile;
  //}       
};

$scope.Addprojects = function(prodetails) {
  if (prodetails.image1_id) {
    $scope.prodetails.file.push(prodetails.image1_id);
    //console.log("image1", prodetails.file);
  }
  if (prodetails.image2_id) {
    $scope.prodetails.file.push(prodetails.image2_id);
    //console.log("image2", prodetails.file);
  }
  //console.log(prodetails.file.length);
  if (prodetails.file.length == 2) {
    alert(prodetails.file.length);
    $scope.saveFile(prodetails.file[0]).then(function(res) {
      console.log("poooototot", res);
      $scope.saveFile(prodetails.file[1]).then(function(res) {
        $scope.Addprojectsimg(prodetails);
        console.log("", Addprojectsimg);
        alert('hai');
      });
    });
  } else if (prodetails.file.length == 1) {
    $scope.saveFile(prodetails.file[0]).then(function(res) {
      alert("ok");
      $scope.Addprojectsimg(prodetails);
    });
  } else {
    $scope.Addprojectsimg(prodetails);
  }
};

$scope.Addprojectsimg = function(prodetails){

                        console.log("projectadding",prodetails,$scope.photoId);
                        prodetails.image1_id= $scope.photoId;
                        console.log("SUB",prodetails);
                        $http.post(CONFIG.apiUrl+"/projectsubmit", prodetails).success(function(data, status) {
                        console.log("prorespons",data);
                        alert("images uploaded sucessfully");

                        })

                };

错误

错误:$scope.saveFile(...).then 不是函数 addprojectctrl/$scope.Addprojects@http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/js/controllers.js:208:7 匿名/fn@http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js line 13365 > Function:2:332 ngEventHandler/http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:23613:17 $RootScopeProvider/this.$gethttp://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:16052:16 $RootScopeProvider/this.$gethttp://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:16152:20 ngEventHandler/http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:23618:17 n.event.dispatch@http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/jquery/dist/jquery.min.js:3:7467 n.event.add/r.handle@http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/jquery/dist/jquery.min.js:3:5583 return logFn.apply(console, args);

请指导我解决此问题。我认为这只是小错误,但我是 AngularJS 的新手。

【问题讨论】:

    标签: javascript angularjs node.js image-uploading


    【解决方案1】:

    你的 $scope.saveFile 函数没有返回一个承诺,它应该是这样的:

    $scope.saveFile = function(file) {
        return Upload.upload({
            url: CONFIG.apiUrl+'/fileupload',
            data: {fileUpload: file}
        }).success(function(data){
            console.log("RSPPPPPPP",data.file._id);
            $scope.photoId = data.file._id;
            console.log("sdvfbghjm,kjhgfdsa",$scope.photoId);
    
        });
    };
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    • 2012-06-21
    • 2012-04-02
    相关资源
    最近更新 更多