我想将文件存储到本地计算机。
对于HTML5,我们可以使用cookies
和local storage
将数据存储到本地计算机。
本地存储使用key-value
对(json
)来存储数据。
但是,我想以不同的格式保存数据,例如XML格式。
在convertonlinefree.com等网站上,当文件转换后,该文件将自动开始下载。
所以,我正在考虑这样做的方法: 当用户单击按钮时,将自动下载XML文件。这可能吗?如果是这样,我怎么能这样做?
答案 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>")