Skip to content

Instantly share code, notes, and snippets.

@fomenyesu
Created December 13, 2017 08:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fomenyesu/5481c59ccb28fbe10572e537f92dcb70 to your computer and use it in GitHub Desktop.
Save fomenyesu/5481c59ccb28fbe10572e537f92dcb70 to your computer and use it in GitHub Desktop.
FileSaverWithProgress
let ajax = new XMLHttpRequest();
ajax.open("GET",item.url,true);
ajax.addEventListener("progress", function(evt){
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with download progress
console.log("percentComplete " + percentComplete);
}
}, false);
ajax.onreadystatechange = function(){
if(this.readyState == 4) {
if(this.status == 200) {
let strArr = item.url.split('/');
let blob = new Blob([this.response], {type: "application/octet-stream"});
let fileName = "fileName.mp4";
saveAs(blob, fileName);
_self.setState({downloadLoading: false});
} else if(this.responseText != "") {
_self.setState({downloadLoading: false});
}
} else if(this.readyState == 2) {
if(this.status == 200) {
this.responseType = "blob";
} else {
this.responseType = "text";
}
}
};
ajax.send(null);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment