Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从whatsapp数据库检索视频和音频_C#_Sqlite_Whatsapp - Fatal编程技术网

C# 如何从whatsapp数据库检索视频和音频

C# 如何从whatsapp数据库检索视频和音频,c#,sqlite,whatsapp,C#,Sqlite,Whatsapp,我为whatsapp应用程序中的设计消息历史编写了一个小应用程序。whatsapp应用程序将数据存储到sqlite数据库中 首先,我解密数据库 其次,我看到DB有一个消息表,其中包含以下列(作为链接附加): 因此,有图像、视频、音频等的记录 现在,对于我尝试保存到电脑本地目录的每条记录,如下所示: 第一种方式: File.WriteAllBytes(Path.Combine(directoryPath, msg.Media.MediaName)), msg.Media.RAW_DATA);

我为whatsapp应用程序中的设计消息历史编写了一个小应用程序。whatsapp应用程序将数据存储到sqlite数据库中

首先,我解密数据库

其次,我看到DB有一个消息表,其中包含以下列(作为链接附加):

因此,有图像、视频、音频等的记录

现在,对于我尝试保存到电脑本地目录的每条记录,如下所示:

第一种方式:

File.WriteAllBytes(Path.Combine(directoryPath, msg.Media.MediaName)), msg.Media.RAW_DATA);
但我明白了,它只对图像文件有效,对音频和视频文件无效

第二种方式:

using (FileStream fs = new FileStream(Path.Combine(directoryPath, msg.Media.MediaName), FileMode.Create))
{
    using (BinaryWriter writer = new BinaryWriter(fs))
    {
        writer.Write(msg.Media.RAW_DATA);
    }
}
但我得到了同样的结果:-(


我的问题-获取音频和视频文件的正确方法是什么?

最有可能的是blob太大,因此它正在缓冲返回值。如何从sql lite读取大blob。数据库中的blob映射到.NET中的字节数组,因此我将列转换为byte[]如下:byte[]raw_data=row[raw_data_column]作为byte[];