使用JavaScript将文件存储到本地计算机(下载)

时间:2014-09-02 20:22:03

标签: javascript download local-storage

我想将文件存储到本地计算机。

对于HTML5,我们可以使用cookieslocal storage将数据存储到本地计算机。 本地存储使用key-value对(json)来存储数据。 但是,我想以不同的格式保存数据,例如XML格式。

在convertonlinefree.com等网站上,当文件转换后,该文件将自动开始下载。

所以,我正在考虑这样做的方法: 当用户单击按钮时,将自动下载XML文件。这可能吗?如果是这样,我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

您可以创建不可见元素,例如a并模拟点击它,下载文件check my codepen进行演示。

重要的是这个:

var text = xmlContent.value;
// Create element.
a = document.createElement('a');
// Attach href attribute with value of your file.
a.setAttribute("href", "data:application/xml;charset=utf-8," + text);
// HTML5 property, to force browser to download it.
a.setAttribute("download", "my.xml");
a.click();

您可以选择使用故意不正确的MIME类型替换application/xml部分,以强制浏览器下载文件而不是尝试显示它。

答案 1 :(得分:0)

您要使用的是Data_URI_scheme,这基本上意味着您必须对文件进行base64编码才能下载。

所以这样的事情应该有效:

window.location = 'data:application/xml;base64,'+ btoa("<xml>data in the file</xml>")