编辑文件-纯js

问题描述 投票:0回答:3

如何用纯js(没有node)编辑文件? 我得到一个带有输入字段的文件,我像这样读取它的文本:

var fileReader = new FileReader();
fileReader.readAsText(file);

fileReader.onload = function () {
    alert(this.result);
}

所以,非常简单。我尝试在网上查看如何使用 fileWriter 但没有成功。 我只需要编辑该文件中的文本并保存它,我该怎么做?

javascript filereader filewriter
3个回答
5
投票

您可以读入文本文件中的数据,在客户端JavaScript(无Node)中对其进行修改,然后输出并重新保存。不过,它确实需要用户交互。

这是我修改的一个JS小提琴,它从一些文本中输出文件,尽管它不读取文件。

最初取自这个 Stackoverflow 问题

(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);

})();

3
投票

你不能在浏览器中写入文件,你必须使用节点。


0
投票

我有同样的问题,但我认为你可以使用 file.js 或它的名字是什么

然后使用http获取文件并编辑它或其他东西

我正在做一个学校项目,但我不知道,但你可以使用 file.js

© www.soinside.com 2019 - 2024. All rights reserved.