Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
421 views
in Technique[技术] by (71.8m points)

javascript - Saving file on IE11 with FileSaver

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.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...