Skip to content

Instantly share code, notes, and snippets.

@tolu
Last active August 29, 2015 14:10
Show Gist options
  • Save tolu/5684e5693a002370a754 to your computer and use it in GitHub Desktop.
Save tolu/5684e5693a002370a754 to your computer and use it in GitHub Desktop.
Save any file in localStorage.
function fixAkamaiEOL(url, callback) {
// create XHR, Blob and FileReader
var xhr = new XMLHttpRequest();
var fileReader = new FileReader();
var blob;
xhr.open("GET", url, true);
// set responseType to arraybuffer
xhr.responseType = "arrayBuffer";
xhr.addEventListener("load", function(){
if (xhr.status !== 200) {
callback(null);
return;
}
// fix Akamai EOL
// var response = xhr.response.replace(/\r/, '\n')
// create blob from response
blob = new Blob([response], {type: "vnd.apple.mpegURL"});
// onload needed since Chrome does not support addEventListener for FileReader
fileReader.onload = function(evt) {
// read file content as a Data URL
var result = evt.target.result;
callback(result);
// localStorage.setItem("foo", result);
};
// Load blob as Data URL
fileReader.readAsDataURL(blob);
}, false);
xhr.send();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment