我一直在尝试使用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。
我一直在寻找没有运气......所以感谢您的帮助!
答案 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;
将是一个更好的解决方案。