How to create .txt file using JavaScript / HTML5?

后端 未结 2 1057
抹茶落季
抹茶落季 2020-12-14 22:47

I am new to javascript . all codes available on the internet related to create text file using javascript is not working in my laptop. can anybody give me idea or with possi

相关标签:
2条回答
  • 2020-12-14 23:24

    This code should work, give this a try and if this doesn't work then it may be an issue with your browser:

    (function () {
    var textFile = null,
      makeTextFile = function (text) {
        var data = new Blob([text], {type: 'text/plain'});
    
        // If we are replacing a previously generated file we need to
        // manually revoke the object URL to avoid memory leaks.
        if (textFile !== null) {
          window.URL.revokeObjectURL(textFile);
        }
    
        textFile = window.URL.createObjectURL(data);
    
        return textFile;
      };
    
    
      var create = document.getElementById('create'),
        textbox = document.getElementById('textbox');
    
      create.addEventListener('click', function () {
        var link = document.getElementById('downloadlink');
        link.href = makeTextFile(textbox.value);
        link.style.display = 'block';
      }, false);
    })();
    

    And the HTML:

    <textarea id="textbox">Type something here</textarea> <button id="create">Create file</button> 
    <a download="info.txt" id="downloadlink" style="display: none">Download</a>
    

    Taken from this Fiddle:

    http://jsfiddle.net/uselesscode/qm5ag/

    0 讨论(0)
  • 2020-12-14 23:28

    A very fast and easy solution is to use FileSaver.js :
    https://raw.githubusercontent.com/eligrey/FileSaver.js/master/FileSaver.js

    Then it takes only 2 lines of code to download a txt file :

    var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
    
    saveAs(blob, "hello world.txt");
    


    This code example will display a dialog box to download a file named "hello world.txt" containing the text "Hello, world!". Just replace this by the file name and the text content of your choice !

    0 讨论(0)
提交回复
热议问题