Здесь у меня возникает одна проблема при загрузке нескольких изображений на AngularJS. Вот мой код и ошибка, которую я получаю.Ошибка загрузки нескольких изображений в angularjs
$scope.saveFile = function(file) {
return Upload.upload({
url: CONFIG.apiUrl + '/fileupload',
data: {
fileUpload: file
}
}).success(function(data) {
console.log("RSPPPPPPP", data.file._id);
$scope.photoId = data.file._id;
console.log("sdvfbghjm,kjhgfdsa", $scope.photoId);
})
return $scope.saveFile;
//}
};
$scope.Addprojects = function(prodetails) {
if (prodetails.image1_id) {
$scope.prodetails.file.push(prodetails.image1_id);
//console.log("image1", prodetails.file);
}
if (prodetails.image2_id) {
$scope.prodetails.file.push(prodetails.image2_id);
//console.log("image2", prodetails.file);
}
//console.log(prodetails.file.length);
if (prodetails.file.length == 2) {
alert(prodetails.file.length);
$scope.saveFile(prodetails.file[0]).then(function(res) {
console.log("poooototot", res);
$scope.saveFile(prodetails.file[1]).then(function(res) {
$scope.Addprojectsimg(prodetails);
console.log("", Addprojectsimg);
alert('hai');
});
});
} else if (prodetails.file.length == 1) {
$scope.saveFile(prodetails.file[0]).then(function(res) {
alert("ok");
$scope.Addprojectsimg(prodetails);
});
} else {
$scope.Addprojectsimg(prodetails);
}
};
$scope.Addprojectsimg = function(prodetails){
console.log("projectadding",prodetails,$scope.photoId);
prodetails.image1_id= $scope.photoId;
console.log("SUB",prodetails);
$http.post(CONFIG.apiUrl+"/projectsubmit", prodetails).success(function(data, status) {
console.log("prorespons",data);
alert("images uploaded sucessfully");
})
};
Ошибка
Error: $scope.saveFile(...).then is not a function addprojectctrl/[email protected]http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/js/controllers.js:208:7 anonymous/[email protected]http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js line 13365 > Function:2:332 ngEventHandler/http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:23613:17 $RootScopeProvider/this.$gethttp://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:16052:16 $RootScopeProvider/this.$gethttp://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:16152:20 ngEventHandler/<@http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/angular/angular.js:23618:17 [email protected]http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/jquery/dist/jquery.min.js:3:7467 n.event.add/[email protected]http://192.168.3.40:8081/2016/ANGULAR2016/ang-social/bower_components/jquery/dist/jquery.min.js:3:5583 return logFn.apply(console, args);
Пожалуйста, руководство меня, чтобы исправить эту проблему. Я думаю, что это небольшая ошибка, но я новичок в AngularJS.
В AngularJS есть эта разница между обещаниями '$ q' и' $ http', который использует другой интерфейс. Больше информации здесь: http://www.peterbe.com/plog/promises-with-$http – jjmontes
благодаря @MartijnWelker, ваша мысль была обрядом. –