我想使用 Javascript 生成一个 txt 文件,其内容将是一个字符串并将其链接到一个按钮,以便单击按钮将生成文件下载。该文件不能存储在任何地方,因为内容应该是动态的。
我该怎么做呢 ?
我想使用 Javascript 生成一个 txt 文件,其内容将是一个字符串并将其链接到一个按钮,以便单击按钮将生成文件下载。该文件不能存储在任何地方,因为内容应该是动态的。
我该怎么做呢 ?
您不能使用 javascript 生成文件。
但是,您可以使用链接到 PHP 文件的隐藏 iframe 来执行此操作。该 PHP 文件应包含正确的标头(Content-Type
、Content-Disposition
等)。
您应该在此处找到更多详细信息:通过 ajax 调用 php 下载文件
您可以像这样使用“下载”和“数据”属性,
var div = document.getElementById('div');
var a = document.createElement('a');
div.appendChild(a);
a.text='download test file';
a.download='aaaabbb.txt';
a.href="data:text/plain," + 'aaaaaaaaaccccccccccccc';
<div id="div">aaaaa</div>
您还可以使用 blob 并单击 a 标签,这将弹出下载窗口,而无需用户单击 a 标签。
var div = document.getElementById('div');
var a = document.createElement('a');
div.appendChild(a);
//a.text = 'download';
a.download='aaaa.txt'
a.href = URL.createObjectURL(new Blob(['iikkkddddlsldfsjlfsdjf'], {type: 'application/text'}));
a.click()
<div id="div">aaaaa</div>
要保存大型内容,您可以参考如何在 Javascript 中生成文本文件和下载 zip 文件?