Ich habe einen Code, der Dokumente in den Controller hochlädt, ich wollte es zu einem Dienst verschoben werden, so dass andere Controller es verbrauchen können.Angular.js Consuming Upload.progress Ereignis in einem Controller
"use strict";
angular.module('myApp')
.service('uploadDocumentService', ['Upload', function (Upload) {
this.UploadDocument = function ($file, data) {
Upload.upload({
url: '/uploadDocuments',
file: $file,
data: data
}).progress(function (evt) {
var progressReport = {};
progressReport.progressVisible = true;
progressReport.percentage = Math.round(evt.loaded/evt.total * 100);
return progressReport;
}).success(function (data, status, headers, config) {
var fileUploaded = {};
fileUploaded.id = data.id;
fileUploaded.name = data.fileName;
return fileUploaded;
});
}
}]);
Ich bin nicht in der Lage, die .progress Ereignis in meinem Controller zu erfassen
uploadDocumentService.UploadDocument($file, 'Path')
.progress(function (progressReport) {
//Some code
}).success(function (data) {
//Some code
});
Halten Sie den Fehler bekommen kann nicht Eigentum ‚Fortschritt‘ undefinierter bei m. $ Scope.uploadDocuments Irgendwelche Tipps lesen Wie kann ich dieses Problem lösen? Muss ich das Fortschrittsereignis im Service registrieren?
Bitte bestätigen Sie, ob Ihr Controller Den Dienst haben - uploadDocumentService..angular.module ('myApp'). controller ("MyCtrl", Funktion ($ scope, uploadDocumentService) –
Ich denke uploadDocumentService param fehlt in Ihrem Controller fu nction, die diesen undefinierten Fehler verursacht .. Hoffe, das funktioniert für Sie :) –
Hallo, ja, tut es. –