Edit file - pure js

前端 未结 2 1614
梦谈多话
梦谈多话 2021-01-26 22:36

How do I edit a file in pure js (without node)? I get a file with an input field and I read its text like this:

var fileReader = new FileReader();
fileReader.rea         


        
相关标签:
2条回答
  • 2021-01-26 22:48

    You can't write files in a browser, you'll have to use node.

    0 讨论(0)
  • 2021-01-26 22:48

    You can read in the data in the text file, modify it in client side JavaScript (no Node), and then output and re-save it. It does require user interaction, though.

    This is a JS fiddle I modified that outputs the file from some text, although it does no reading of files.

    Originally taken from this Stackoverflow question

    (function () {
        var textFile = null;
      function makeTextFile(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');
      var textbox = document.getElementById('textbox');
    
        //create a click event listener
      create.addEventListener('click', function () {
        var link = document.getElementById('downloadlink');
        link.setAttribute('download', 'info.txt');
        //make the text file
        link.href = makeTextFile(textbox.value);
        link.style.display = 'block';
            //wait for the link to be rendered and then initiate a click to download the file
         window.requestAnimationFrame(function () {
          var event = new MouseEvent('click');
          link.dispatchEvent(event);
          document.body.removeChild(link);
        });
      }, false);
    
    })();
    
    0 讨论(0)
提交回复
热议问题