【发布时间】:2012-12-19 14:41:19
【问题描述】:
这是参考我的问题 - Attach content of HTML5 WebSQL databse to email using javascript
我有一个可以在 Chrome 浏览器中运行的 HTML5 应用程序。我需要导出本地存储在 Web SQL DB 中的数据,并将其放入 csv 或 txt 文件中。
我需要在浏览器中执行此操作。服务器端代码不是一个选项。如何使用 javascript 来完成?谢谢
编辑: 我发现实现这一点的一种方法是通过 Data URI。所以我从结果对象中的选择查询中获得了我的结果集。如何将其编码为 base 64 格式?
db.transaction(function (tx) {
tx.executeSql('SELECT * FROM LOGS', [], function (tx, results) {
var len = results.rows.length, i;
msg = "<p>Found rows: " + len + "</p>";
document.querySelector('#status').innerHTML += msg;
for (i = 0; i < len; i++){
alert(results.rows.item(i).log );
}
}, null);
});
//Encode the results object to base64
/* How can we do this? */
<a download="example.csv" href="data:application/csv;charset=utf-8, <<base64_encoded_data>>">Test</a>
【问题讨论】:
-
我之前没用过WebSQL,所以这部分我帮不上忙,但是如果你能把你的数据放入一个数组中,其中数组的每个元素都是一个数组,表示数据库中的一行,您可以使用我的CSV library 将其格式化为 CSV。只需包含该库,然后通过
CSV.arrayToCsv();运行您的数组即可接收 CSV 格式的数组。
标签: javascript html export local-storage web-sql