首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编辑文件-纯js

问编辑文件-纯js
EN

Stack Overflow用户
提问于 2018-01-27 04:43:36
回答 2查看 7.3K关注 0票数 1

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

代码语言:javascript
复制
var fileReader = new FileReader();
fileReader.readAsText(file);

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-01-27 04:44:35

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

票数 3
EN

Stack Overflow用户

发布于 2018-01-27 05:02:55

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

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

最初取自this Stackoverflow question

代码语言:javascript
复制
(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);

})();
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48469243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档