Eigentlich lade ich Bild mit Service, Bild hochgeladen erfolgreich, aber ich möchte reagierte Daten auf die Funktion in der Steuerung.Wie kann Angular Service Function Antwort auf Controller zurückgeben
Controller:
adminApp.controller('imageController', ['$scope', 'fileUpload', 'Images',function ($scope, fileUpload, Images) {
$scope.uploadFile = function (data) {
console.log(data);
var file = data.myFile;
console.log('file is ');
console.dir(file);
var uploadUrl = "/image";
fileUpload.uploadFileToUrl(file, data, uploadUrl);
// $scope.images.push();
};
}]);
Service:
adminApp.service('fileUpload', ['$http', function ($http) {
this.uploadFileToUrl = function (file, data, uploadUrl) {
var fd = new FormData();
fd.append('file', file);
fd.append('owner_id', data.owner_id);
$http.post(uploadUrl, fd, {
transformRequest: angular.identity,
headers: {'Content-Type': undefined}
})
.success(function (data) {
// return data;
})
.error(function() {
});
}
}]);
Laravel (Rückhand):
public function store(Request $request)
{
$image = $request->file('file');
$image = $this->imageRepository->makeImage($image);
return $image;
}
ich in Service Rückkehr funktionieren reagierte Daten von Rückhand an die Steuerung, so kann ich drücken der Wert auf $scope.images
in Controller-Funktion.
Fehler wird angezeigt, angular.min.js: 92 TypeError: Eigenschaft 'defer' von undefined kann nicht gelesen werden –
In Ihrem Service müssen Sie defer 'adminApp.service ('fileUpload', ['$ http', '$ q ', Funktion ($ http, $ q) ' –
enthalten, dann nach der Anzeige, ** TypeError: Kann Eigenschaft' Defer 'von undefined nicht lesen ** –