怎样用node.js解析.sqlite文件,并上传到服务器上?
发布于 8 年前 作者 ManLe 4055 次浏览 来自 问答

注:(.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存成文件。类似下图所示
        });

untitled1.png

3.现在已经把聊天对应的表和名称找到了,我做到这里了,后面没有做,思路是分析每个表中的消息记录 可以参考这个分析。消息对应的类型,以及静态文件存放位置:http://www.cnblogs.com/cxun/p/4338643.html 你可以把解析出来的消息存成文件,最后打包通过request上传到服务器上去

回到顶部