angular-文件上传未发布任何内容

angular-file-upload is not posting anything

我正在尝试使用 angular-文件上传。该文件正在从视图发送到 angular 控制器,但它没有向 apiController 发送任何内容。我做了一个plunker。

Plunker

它将文件放在

$scope.upload = function (files) {
      $scope.$watch('files', function () {
    $scope.upload($scope.files);
});

$scope.upload = function (files) {
    if (files && files.length) {
        for (var i = 0; i < files.length; i++) {
            var file = files[i];
            $upload.upload({
                url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
                fields: { 'companyName': $scope.companyName },
                file: file
            }).progress(function (evt) {
                var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
                console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
            }).success(function (data, status, headers, config) {
                console.log('file ' + config.file.name + 'uploaded. Response: ' + data);
            });
        }
    }
};

更新

我看到你的成功功能是如何被击中的。我的仍然不是。我的控制台中没有 javascript 错误。我该怎么做才能调试它?

由于 $scope.files 是数组,你需要将 $watch 函数的第三个参数设置为 'true'

   $scope.$watch('files', function () {
      console.log($scope.files);
        $scope.upload($scope.files);
    }, true);

请在此处查看工作演示

http://plnkr.co/edit/lGjgTIeVZdgxcS2kaE7p?p=preview

app.controller('MainCtrl', function($scope, $upload) {
  $scope.$watch('files', function() {
    $scope.upload($scope.files);
  });

  $scope.upload = function(files) {
    if (files && files.length) {
      for (var i = 0; i < files.length; i++) {
        var file = files[i];
        $upload.upload({
          url: 'https://angular-file-upload-cors-srv.appspot.com/upload',
          fields: {
            'companyName': $scope.companyName
          },
          file: file
        }).progress(function(evt) {
          var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);
          console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);
        }).success(function(data, status, headers, config) {
          console.log('file ' + config.file.name + 'uploaded. Response: ');
         //response from server          
         console.log(data);
        });
      }
    }
  };
});