编辑文件-纯js

2023-12-15

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

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

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

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


您可以读取文本文件中的数据,在客户端 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);

})();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

编辑文件-纯js 的相关文章

随机推荐

  • WPF 拖放

    如何为 WPF 应用程序实现拖放 我可以打开 2 个相同的应用程序并将一个对象从一个应用程序拖动到另一个应用程序 这是我要拖动的内容
  • 按行重塑数据框[重复]

    这个问题在这里已经有答案了 我有一个类似于以下示例的数据框 gt df lt data frame imp c Johny Johny Lisa Max item c 5025 1101 2057 1619 gt df imp item 1
  • 仅最初需要 git 子模块更新?

    我正在掌握 git 子模块 一厢情愿的想法 并且我提出了更具体的问题 这是一个好兆头 我试图找到超级项目引用的子模块的哪个版本 在 gitmodules and git config 但那里没有提到任何内容 这种情况是 我正在更改根位置的子
  • 与 HoloEverywhere 的相对 Gradle 项目依赖性

    我有这个目录结构 Project contrib holo everywhere library addons slider preferences app library app one app two settings gradle 我
  • 保留选定的打印机设置

    我有一个应用程序 它运行一系列预订 并以行程的形式依次打印每个预订并发送给客户 每次运行可能有 30 个左右的预订 因此需要自动化 我们已经交付了它 所有这些都可以与我们的报告软件 DELPHI 的 Report Builder 配合使用
  • 使用 / 分割 C++ 字符串

    我有一个 C 字符串 如下所示 dirname filename ini 我需要在之后得到一切 我怎样才能做到这一点 Using find and substr方法来自std string std string fullpath dirna
  • 模块构建失败(来自 ./node_modules/postcss-loader/src/index.js)

    当我运行命令时 我正在使用角度和节点npm start我收到这个错误 src styles scss 中的错误 node modules css loader dist cjs js ref 13 1 node modules postcs
  • 运算符重载,运算符+与运算符+=

    我正在阅读一些 C 源代码 并且了解了一些语法 path path operator string postPath 我想知道这是否是实际的语法以及为什么 c 不使用已经存在的运算符 而是将值应用于有问题的对象 就像您想确保对象被正确删除一
  • 按对象键过滤对象数组

    我有一个 Javascript 对象数组 var List employee Joe type holiday employee Jerry type seminar employee Joe type shore leave 我想获得两个
  • Rails 的地理定位 API [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我试图从我的 Rails 应用程序中显示某个位置的地图 我尝试检查 YM4R GM 和 GeoKit 组合 但不确定是否有更好的 Rails 3 的
  • 转换为 64 位 int

    因此 我正在使用 PHP 来转换 Steam Id 这可能是你们很多人都熟悉的 我有以下 Steam ID STEAM 0 1 1514332 现在 我需要将其转换为 64 位版本 这也是社区 ID 浏览 Steams 官方发布后 http
  • 如何在 WPF 中过滤 ListView?

    我有一个绑定到项目集合的 ListView 我不想显示属性 IsDeleted 1 的项目 我怎样才能做到这一点 我将使用 CollectionView 并将 Filter 属性设置为表达式 var view CollectionViewS
  • 如何准确测量具有已知 DPI 的鼠标的鼠标移动(以英寸或厘米为单位)

    我有一个 Logitech G500 游戏鼠标 其全 DPI 为 5700 我正在尝试用 C 编写一个程序 以物理单位准确测量鼠标的水平移动 即 厘米或英寸 我通过 WM INPUT 消息使用 Windows API 和 Windows 原
  • 将一个 html 文件包含到另一个文件中 [关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我想将一个 html 文件包含到另一个文件中 但似乎行不通 这两个文件是 C wamp
  • 在另一个函数中访问时函数结果未定义

    我试图取回另一个函数内部函数的结果 但总是未定义 window load function var isMobile false function check OS if iPhone iPod iPad i test navigator
  • JavaScript:在没有画布的情况下获取ImageData

    是否有可能获得ImageData来自图像的对象 该图像不在画布上 而是在 DOM 树中的其他位置 正常情况下 img 如果是 怎么办 您必须创建一个内存画布 然后在此画布上绘制图像 var canvas document createEle
  • 除了“推”钩之外还有其他选择吗?

    Bitbucket Github 和其他服务往往有一个 push 钩子 这样当你将代码推送到存储库时 该服务可以点击一个 URL 可能在生产服务器上 告诉它拉取最新的代码 问题是 如果我在云中有许多服务器 根据负载进出 我无法知道在任何给定
  • QuickBooks 在解析提供的 XML 文本流时发现错误

    我正在使用适用于 QuickBooks Desktop 的 Conolibyte PHP SDK 当我尝试从 QuickBooks 桌面获取账单时 出现此错误 0x80040400 QuickBooks found an error whe
  • 输入类型 DateTime - 值格式?

    我应该以哪种格式放置日期和时间 以便在 HTML5 输入元素中使用datetime type 我努力了 1338575502 01 06 2012 19 31 01 06 2012 19 21 00 2012 06 01 2012 06 0
  • 编辑文件-纯js

    如何在纯js 无节点 中编辑文件 我得到一个带有输入字段的文件 并像这样读取其文本 var fileReader new FileReader fileReader readAsText file fileReader onload fun