使用Javascript下载文本文件

时间:2014-05-20 15:34:18

标签: javascript jquery html5

我一直在尝试使用javascript下载文本文件。我使用此代码:

HTML:     <a id="save_file_local" download="data.local">Save file</a>

使用Javascript:

save_file_local.href="data:text/plain,"+encodeURIComponent(response);
save_file_local.click();    

嗯,它适用于我使用过的所有扩展程序......但仅限于&#34; .local&#34;扩展名,我得到一个这个名字的文件:data.download 我真的需要下载&#34; .local&#34;文件,所以更改扩展名不是我的解决方案。 它与Internet Explorer 10完美配合,但不适用于Chrome或Mozilla。

我一直在寻找没有运气......所以感谢您的帮助!

3 个答案:

答案 0 :(得分:0)

来自另一个问题:

<a href="path/to/file" download>Click here to download</a>

认为没办法完全跨浏览器这样做。

答案 1 :(得分:0)

这取决于您的浏览器和服务器。

如果服务器发送&#34;内容类型:text / plain&#34;大多数浏览器都会显示它。你无法用javascript改变它。

答案 2 :(得分:0)

正如evu建议的那样,您可以使用HTML5 download属性,尽管它不是widely or consistently supported yet。 Chrome优先使用download属性,但将Firefox gives priority优先用于http标头Content-Disposition。但是,如果它是您在JavaScript中生成的内容,则download属性应该有效。

如果您有权访问服务器,则在http标头中设置Content-Disposition: attachment;将是一个更好的解决方案。