js 点击按钮 把文本转成文件并下载下来

你可以使用 JavaScript 创建一个 Blob 文件,并通过动态创建 a 标签来触发下载。下面是一个完整的例子:

HTML 部分

html 复制代码
<button id="downloadBtn">下载文本</button>

JavaScript 部分

javascript 复制代码
document.getElementById('downloadBtn').addEventListener('click', function() {
    // 这里的文本你可以根据需要修改
    const text = "这是要保存的文本内容\n换行也可以哦~";

    // 创建一个 Blob 对象
    const blob = new Blob([text], {type: "text/plain;charset=utf-8"});

    // 创建一个下载链接
    const url = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.href = url;
    a.download = "保存的文件.txt"; // 设置下载的默认文件名
    document.body.appendChild(a);
    a.click();

    // 移除a标签并释放内存
    document.body.removeChild(a);
    URL.revokeObjectURL(url);
});

说明
  • Blob 可以用来把字符串或二进制数据转成文件对象。
  • 创建一个隐藏的 <a> 标签,通过 a.download 属性指定文件名,然后用 JS 模拟点击。
  • 操作完成后及时释放内存和移除标签。

拓展:支持任意文本输入

比如配合 <textarea> 实现任意输入下载:

html 复制代码
<textarea id="content"></textarea>
<button id="downloadBtn">下载文本</button>
<script>
document.getElementById('downloadBtn').addEventListener('click', function() {
    const text = document.getElementById('content').value;
    const blob = new Blob([text], {type: "text/plain;charset=utf-8"});
    const url = URL.createObjectURL(blob);
    const a = document.createElement('a');
    a.href = url;
    a.download = "myfile.txt";
    document.body.appendChild(a);
    a.click();
    document.body.removeChild(a);
    URL.revokeObjectURL(url);
});
</script>

如有其他需求可详细说明!

相关推荐
紫金修道5 小时前
【DeepAgent】概述
开发语言·数据库·python
Via_Neo5 小时前
JAVA中以2为底的对数表示方式
java·开发语言
书到用时方恨少!5 小时前
Python multiprocessing 使用指南:突破 GIL 束缚的并行计算利器
开发语言·python·并行·多进程
cch89185 小时前
PHP五大后台框架横向对比
开发语言·php
天真萌泪6 小时前
JS逆向自用
开发语言·javascript·ecmascript
野生技术架构师6 小时前
一线大厂Java面试八股文全栈通关手册(含源码级详解)
java·开发语言·面试
柳杉7 小时前
震惊!字符串还能这么玩!
前端·javascript
Q一件事7 小时前
R语言制图-相关性及关系网络图
开发语言·r语言
坊钰7 小时前
Java 死锁问题及其解决方案
java·开发语言·数据库
仍然.7 小时前
算法题目---模拟
java·javascript·算法