나는 fileUpload (NodeJS로 만든)를 가지고 있는데 {{upload.message}}의 html로 업로드 성공을 보여주고 싶습니다. AngularJS로 구현했지만 작동하지 않았습니다. 내가 도대체 뭘 잘못하고있는 겁니까?nodejs 백엔드에서 프론트 엔드로 콜백 보내기
HTML
<form enctype="multipart/form-data" action="/upload"
method="POST">
<div class="form-group">
<input type="file" name="file" />
<p></p>
<input type="file" name="file" />
<p></p>
<input type="file" name="file" />
<br> <br>
<input type="submit" value="Upload File" name="submit"
class="btn btn-primary">
</form>
<span>{{upload.message}}</span>
</div>
NodeJS
router.post('/upload', function(req,res){
upload(req,res,function(err) {
var fileNames = [];
req.files.forEach(function(element){
fileNames.push(element.filename);
})
console.log('Selected Files: ', fileNames);
if(err){
res.end("Error: '" , err , "'");
}else{
res.sendStatus(204);
}
});
});
AngularJS와
var self = this;
this.message = "";
this.upload= function(){
$http.post('/uploads')
.then(function success(result){
self.message = "Upload worked";
},
function error(response){
self.message = "Error upload failed";
});
};
먼저 경로를 확인하십시오.양식에/업로드하고 Angularjs로 노드 및/업로드합니다. 둘째, 정규 HTML/액션이 아닌 각도를 통해 양식을 제출해야합니다. $ scope에 메시지를 바인드하고 서버에서 200 OK를받은 후 메시지를 업데이트합니다. 양식을 제출하려면 여기 [link] (https://docs.angularjs.org/guide/forms)를 확인하십시오. – Bob