Save data from browser to a file
by KimNyholm
HTML
<button onClick="saveSomeData()">
Click to save some data
</button>
JavaScript
function saveFile(blob, filename) {
if (window.navigator.msSaveOrOpenBlob) {
window.navigator.msSaveOrOpenBlob(blob, filename);
} else {
const a = document.createElement('a');
document.body.appendChild(a);
const url = window.URL.createObjectURL(blob);
a.href = url;
a.download = filename;
a.click();
setTimeout(() => {
window.URL.revokeObjectURL(url);
document.body.removeChild(a);
}, 0)
}
}
function saveSomeData() {
const obj = {
hello: 'world'
};
const blob = new Blob([JSON.stringify(obj, null, 2)], {
type: 'application/json'
});
saveFile(blob, "datafile.json")
}