Download a blob from HTTP URL in IE 11 Download a blob from HTTP URL in IE 11 angularjs angularjs

Download a blob from HTTP URL in IE 11


IE11 Not support URL.createObjectURL()

Work for me.

IE11 I'm use

window.navigator.msSaveOrOpenBlob(blob, fileName);

Or, If check condition.

var blob = 'Blob Data';if(window.navigator.msSaveOrOpenBlob) {    // IE11    window.navigator.msSaveOrOpenBlob(blob, fileName);} else {    // Google chome, Firefox, ....    var url = (window.URL || window.webkitURL).createObjectURL(blob);    $('#filedownload').attr('download', fileName);    $('#filedownload').attr('href', url);      $('#filedownload')[0].click();}

Read more: Fixed URL.createObjectURL() function doesn't work in IE 11

Demo: JSFiddle


Fidel90's answer works fine in IE 11 after changing the IE specific part to this:

(!window.navigator.msSaveBlob ? false : function (blobData, fileName) {      return window.navigator.msSaveBlob(blobData, fileName);})


In IE try window.navigator.saveBlob(fileURL,name);.

For further information take a look at the documentation at MSDN.

In the past I've created the following really handy polyfill to check on IE and otherwise use downloading via href. Maybe it will help you (or others):

//check for native saveAs function    window.saveAs = window.saveAs || window.webkitSaveAs || window.mozSaveAs || window.msSaveAs ||        //(msIE) save Blob API        (!window.navigator.saveBlob ? false : function (blobData, fileName) {            return window.navigator.saveBlob(blobData,fileName);        }) ||        //save blob via a href and download        (!window.URL ? false : function (blobData, fileName) {            //create blobURL            var blobURL = window.URL.createObjectURL(blobData),                deleteBlobURL = function () {                    setTimeout(function () {                        //delay deleting, otherwise firefox wont download anything                        window.URL.revokeObjectURL(blobURL);                    }, 250);                };            //test for download link support            if ("download" in document.createElement("a")) {                //create anchor                var a = document.createElement("a");                //set attributes                a.setAttribute("href", blobURL);                a.setAttribute("download", fileName);                //create click event                a.onclick = deleteBlobURL;                //append, trigger click event to simulate download, remove                document.body.appendChild(a);                a.click();                document.body.removeChild(a);            }            else {                //fallback, open resource in new tab                window.open(blobURL, "_blank", "");                deleteBlobURL();            }        });

You can then use this anywhere in your app as simple as:

window.saveAs(blobData, fileName);