I'm new to javascript and I wanted to know if I can export data into a txt file. I can put the data in an alert but I want it to be downloaded onto the clients system as a txt file. How do I achieve this?
Asked
Active
Viewed 7,498 times
5
-
1Similar question and answer here: https://stackoverflow.com/a/43135989/4533488 – aero Feb 15 '21 at 19:39
2 Answers
3
At the moment the File API: Writer is not ready, so you do not have direct interfaces to save file.
Still, you can create a link and put the text in the url.
var link = document.createElement('a');
link.href = 'data:text/plain;charset=UTF-8,' + encodeURIComponent(yourTextGoesHere);
link.innerHTML = 'Open the text file';
//set default action on link to force download, and set default filename:
link.download = 'some file name.txt';
//now put the link somewhere in the html document:
document.body.appendChild(link);
Written by hand and not tested. Should work, but might require debugging.
Edit:
added download
attribute.

SWilk
- 3,261
- 8
- 30
- 51
-
-
You can add `download="some file name.txt"` to force download the file, but most browsers will just download it, and not ask where to save the file. The FileWriter api I have mentioned here seems to be discontinued by W3C, and, while it is supported in Chrome, it might be dropped, so I would not use that. http://caniuse.com/#feat=filesystem – SWilk Jan 16 '17 at 13:28
2
Save text
function save(text){
var link = document.createElement('a');
link.href = 'data:text/plain;charset=UTF-8,' + escape(text);
link.download = 'output.txt';
link.click();
}

Explosion
- 328
- 2
- 10