Saving file on IE11 with FileSaver

10,559

Solution 1

http://caniuse.com/#search=file [2] Some browser don't support the File constructor.

The only way you can get a File instance is through input[type=file]

instead of wrapping it around a try/catch why not just do this:

var blob = new Blob(['content'], { type: 'application/xml' });
saveAs(blob, fileName);

Solution 2

I have found a workaround that works on IE11.

This is the code:

try {
            var file = new File(['content'], fileName, { type: 'application/xml;charset=utf-8' });
            saveAs(file);
} catch (err) {
            var textFileAsBlob = new Blob(['content'], { type: 'application/xml' });
            window.navigator.msSaveBlob(textFileAsBlob, fileName);
}

I hope this will help somebody, working with IE11 consumes time for little thing like this.

Share:
10,559
rtrujillor
Author by

rtrujillor

Software Engineer passionate about mobile, cloud, big data, machine learning, and robotics.

Updated on June 17, 2022

Comments

  • rtrujillor
    rtrujillor almost 2 years

    I'm using FileSaver library ( https://github.com/eligrey/FileSaver.js) and does not work on IE11, with other browsers I had no problem.

    The code is this:

    var file = new File(["content"], "sample.xml", { type: "application/xml;charset=utf-8" });
    saveAs(file);
    

    I'm getting this error when the first instruction (new) executes:

    "the object does not accept this action"

    There's an open issue on git hub, but actually with no solution, I'm looking for a workaround that should work on IE11, like this:

    try {
                    var file = new File([msg.d], "test.xml", { type: "application/xml;charset=utf-8" });
                    saveAs(file);
         } catch (err) {
                    // Code that works on IE11 ....
         }
    

    Any help should be appreciated.

  • rtrujillor
    rtrujillor over 7 years
    Hi, do you mean to use just Blob instead of File in anycase? ? I'm going to try it. Thanks for the suggestion!
  • rtrujillor
    rtrujillor over 7 years
    Hi again, it works, less code and more clean. Thanks!
  • Cold_Class
    Cold_Class about 7 years
    this works great, but is there a way to specify the path to which to save the file to and maybe even to do it without the prompt?
  • Our_Benefactors
    Our_Benefactors almost 7 years
    Works great. Probably saved me at least a half a day. Thanks!