Angularjs $ http und Fortschrittsbalken

Muss ich Datei hochladen und ich benutze $http (dieser code ist von meinem .service () - Funktion):

sendFile: function (params) {
            return $http({method : 'post',
                url : 'http://XXXXXXXXXXXXX/rest/file.json',
                headers : { 'X-CSRF-Token' : $cookies['csrftoken']},
                data : params
            })
        },

Nun, für wenig-Datei und eine gute Linie, es ist kein problem, aber mit einer großen Datei und/oder eine schlechte/langsame Linie, es ist ein problem der Benutzeroberfläche: der Nutzer kann nicht wissen, wenn der upload zu Ende. Ich brauche einen Fortschrittsbalken.

So, ich habe die Suche im internet, aber ich habe keine Lösung gefunden. Gibt es eine Möglichkeit zu bekommen, einige Fortschritte/Benachrichtigung von $http ?

Habe ich versucht diesen code ohne Glück:

ProfileService.sendFile(data)
                    .then(function(ret) {
                            var uri = ret.data.uri;
                            scope.content = "Upload finished";

                            scope.postForm.fid = ret.data.fid;
                            scope.postForm.buttonDisabled = false;
                        },
                        function(error) {
                            scope.postForm.showError = true;
                            scope.postForm.errorMsg = error.data;
                        },
                        function(progress) {
                            console.log("inside progress");
                            console.log(progress)
                        }
                    );

"progress" - Funktion wird nie aufgerufen.

Ich bin mit angular 1.2.x

Dank.

InformationsquelleAutor der Frage ZioBudda | 2014-04-21

Schreibe einen Kommentar