-1
ファイルのアップロードに問題があります。私は私のルートファイルのコントローラにデータを送信するフォームを持っています。データが投稿されると、req.fileは定義されません。何をしようとしているのは、イメージを私のパブリック/イメージに送信し、イメージ名を私の候補に入れることです。ここフォーム情報を投稿しようとするとreq.fileが定義されていません
は私のフォームは
<div class="page-wrap text-center">
<div ng-controller = "candidatesController">
<div class = "row">
<div class=" col-md-6 col-md-offset-3">
<form class = "content-margin" ng-submit="addCandidate()" style="margin-top:30px" enctype = "multipart/form-data">
<h3 class = "formheading"> Add a new Candidate</h3>
<div class = "form-group" align = "center">
<input type = "string" class = "form-control" placeholder = "candidate name" ng-model = "formData.name" ng-style = "{'width':150 + 'px'}"></input>
</div>
<div class = "form-group" align = "center">
<input type = "string" class = "form-control" placeholder = "candidate role" ng-model = "formData.role" ng-style = "{'width':150 + 'px'}"></input>
</div>
<div class = "form-group" align = "center">
<input type = "string" class = "form-control" placeholder = "candidate email" ng-model = "formData.email" ng-style = "{'width':150 + 'px'}"></input>
</div>
<input method = "post" type="file" name="userPhoto" nd-model = "file"/>
<button type="submit" class="btn btn-primary">Add Candidate</button>
</form>
</div>
</div>
</div>
</div>
であり、ここで私のコントローラは
router.addPerson = function(req, res) {
console.warn(req.files);
var candidate = new CandidateModel();
candidate.name = req.body.name;
console.warn(req.body.name);
candidate.role = req.body.role;
console.warn(req.body.role);
candidate.email = req.body.email;
console.warn(req.body.email);
console.warn(candidateImage);
// Save the donation and check for errors
candidate.save(function(err) {
if (err)
res.send(err);
res.json({ message: 'Donation Added!', data: candidate });
});
}
である私は、私もファイルを介して送信されるために得るカントとしてまだ終わってファイルアップロードコードを持っていけません。ここに私のコントローラの機能があります。
$scope.updateCandidate = function(){
$scope.formData.id = candidateId.getID();
$http.post('/candidates/'+ candidateId.getID(), $scope.formData)
.success(function(data){
console.log(data);
$scope.candidates = data;
$location.path('/candidates');
})
.error(function(data){
console.log('Error:' + data);
});
}
任意のヘルプは、あなたがmultipart/form-data
にContent-Type
を設定していない、あなたの角度のコードを見てみると
どのファイルアップロードミドルウェアを使用していますか?マルター、バスボーイ?多分カスタム? – peteb
私はmulterを使用しています – ToljinSaturn