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.
const FileSaver = require('file-saver'); // Save Blob file const file = createBlob('Hello, file! '); FileSaver. saveAs(file, "myFile. txt"); // Save URL FileSaver.
File Saver Overview. The File Saver component enables you to save files on the client machine. The saving of files is done through the saveAs method. You can consume the package from TypeScript and JavaScript projects alike.
Angular File Saver is an AngularJS service that leverages FileSaver.js and Blob.js to implement the HTML5 W3C saveAs() interface in browsers that do not natively support it.
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.
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);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With