2016-06-16 2 views
1

おやすみなさい!私はMEAN Stackで作業している初心者ですが、ng-file-uploadを使用して画像をアップロードしようとしています。これは角度コードである:ここではng-file-uploadが進行中にスタックしました

app.controller('profilePicCtrl', ['Upload', '$scope', '$http', 
         function(Upload, $scope, $http){ 

    $scope.watch(function(){ 
     return $scope.file 
    }, function(){ 
     $scope.upload($scope.file); 
    }); 

    $scope.userID = localStorage.getItem('userID'); 
    $scope.upload = function(file){ 
     console.log("entro en upload"); 
     if(file){ 
      Upload.upload({ 
       url:'api/profile/edit', 
       method:'POST', 
       data: {userId: $scope.userID}, 
       file: file 
      }).progress(function(evt, status){ 
       console.log("dale puej mijo "); 
       console.log('percent: ' + parseInt(100.0 * evt.loaded/evt.total)); 
      }).success(function(data, status){ 
       console.log('archivo subido'); 
      }).error(function(error){ 
       console.log(error); 
      }) 
     } 
    }; 
}]); 

は、エクスプレスコードです:

module.exports.updatePhoto = function(req, res){ 
    var file = req.file; 
    var userId = req.body.userId; 
    console.log("User "+userId+ " is submitting ", file.name); 
    } 

そして最後には、私は、コントローラを呼び出すサーバー側のコード、次のとおりです。

var multipart = require('connect-multiparty'); 
var multipartMiddleware = multipart(); 
var profileController = require('./routes/profile-controller'); 
... 
app.post('api/profile/edit', multipartMiddleware, profileController.updatePhoto); 

それコントローラーを経由せず、サーバーは決して応答しません。あなたの注意を事前に感謝します。

答えて

0

「GET」とは別の方法に移行させないコードがありました。この1は、以下の有罪だった:

if(req.method === "GET" || req.method === "POST"){ 
    if(!req.isAuthenticated()) { 
     res.redirect('/#login'); 
    }else{ 
     return next(); 
    } 
} 

の代わりに私がnext()方法を返すが、1つを見つけていない無限ループに行くために私のコードを引き起こしていたifだけreq.method==='GET文に持っていたor文。今度はor文で私のコードはPOSTのメソッドに行きます。

関連する問題