2015-02-06 29 views
0

我想使用角度文件上傳。該文件正從視圖發送到角度控制器,但不會向apiController發送任何內容。我做了一個笨蛋。角度文件上傳不發佈任何東西

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錯誤。我能做些什麼來調試它?

回答

2

由於$ scope.files是數組,你需要設置第三個參數的$觀賞功能爲 '真'

$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); 
     }); 
     } 
    } 
    }; 
}); 
+0

我仍然得到與第三個參數相同的迴應?進度:59%LovelaceWSH_CMYK.jpg 2app.js:19進度:100%LovelaceWSH_CMYK.jpg app.js:21文件LovelaceWSH_CMYK.jpguploaded。迴應:[對象對象] – texas697 2015-02-06 12:56:05

+0

@ texas697,你期望什麼迴應?請看這裏http://plnkr.co/edit/BMiWjahXiFcPEqOBpnqI?p=preview – sylwester 2015-02-06 13:06:32

+0

哦,對不起,我感到困惑,我將你的代碼添加到我的掠奪者。我看到你的工作,你在哪裏添加這個?它不在你的控制器 – texas697 2015-02-06 13:14:51

相關問題