Attualmente sto caricando un file in una direttiva angolare con ...
var fd = new FormData();
fd.append("uploadedFile", scope.uploadedFile);
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListenter("load", uploadComplete, false);
xhr.addEventListenter("error", uploadFailed, false);
xhr.addEventListenter("abort", uploadCanceled, false);
xhr.open("POST", scope.postUrl);
scope.uploadInProgress = true;
xhr.send(fd);
function uploadProgress(e){
scope.$apply(function(){
if(e.lengthComputable){
scope.progress = Math.round(e.loaded * 100/e.total);
} else {
scope.progress = 'unable to compute';
}
});
}
...
questo frammento può essere riscritta utilizzando provider di $ http? non riesco a capire come mantenere i miei ascoltatori di eventi.
La caratteristica sbarcati in angolare 1.5.4: https://github.com/angular/angular.js/pull/14367/files – ZachB