如何使用js将浏览器中的内容保存到本地?

时间:2013-09-06 10:53:41

标签: javascript php html file download

我想使用Javascript生成一个txt文件,其内容将是一个String并将其链接到一个按钮,以便按钮单击将生成文件下载。该文件无法存储在任何地方,因为内容应该是动态的。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

您无法使用javascript生成文件。

然而,您可以使用隐藏的iframe链接到PHP文件。该PHP文件应包含正确的标头(Content-TypeContent-Disposition等)。

您应该在此处找到更多详细信息:Download file through an ajax call php

答案 1 :(得分:0)

您可以使用'下载'和'数据'像这样的属性,



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>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

您还可以使用blob并单击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>

要保存大型内容,您可以参考How to generate text files and download a zip file in Javascript?