怎样用node.js解析.sqlite文件,并上传到服务器上?
注:(.sqlite文件里面存的是从微信导出来的聊天记录)我知道需要在sqlite3里面运行(sqlite3已在本地安装好),是需要用JS把.sqlite文件里的东西提取并改造成适合上传到服务器上的格式吗?然后再用request上传到对应的服务器上吗 ? 求大神详情给我这个小白介绍具体的细节,万分感谢!
1 回复
连接sqilite数据库 npm install sqlite3 --save var sqlite3 = require(‘sqlite3’).verbose(); var db = new sqlite3.Database(’./MM.sqlite’);
参考:http://www.programgo.com/article/15012822690/
1.提出所有"chat_"开头的表名
var sql = "select name from sqlite_master where type='table'";
var tables = [];
db.each(sql, function(err, row) {
if(err) throw err;
if(row.name.indexOf('Chat_')>-1){
tables.push(row.name);
}
}, function () {
//最后执行完的操作
});
2.从Friend表中提取user,计算对应的username的md5,
var sql = "select UsrName,NickName from Friend";
var objs = [];
db.each(sql, function(err, row) {
if(err) throw err;
var md5 = 'Chat_'+utility.md5(row.UsrName);
if(_.indexOf(tables,md5)>=0){
var obj = {
ChatTable:md5,
UsrName:row.UsrName,
NickName:row.NickName
};
objs.push(obj);
}
}, function () {
//最后执行完的操作,可以把objs存成文件。类似下图所示
});
3.现在已经把聊天对应的表和名称找到了,我做到这里了,后面没有做,思路是分析每个表中的消息记录 可以参考这个分析。消息对应的类型,以及静态文件存放位置:http://www.cnblogs.com/cxun/p/4338643.html 你可以把解析出来的消息存成文件,最后打包通过request上传到服务器上去