У меня возникла проблема с загрузкой файла. У меня есть форма, которая отправляет данные моему контроллеру в файл маршрутов. Когда данные отправляются, 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);
});
}
любая помощь будет большим
Что загрузить файл промежуточного слоя вы используете? Мультер, автобус? Может, что-то обычай? – peteb
Я использую multer – ToljinSaturn