mongoddb:如何用c#读取二进制文件块

本文关键字:读取 二进制文件 何用 mongoddb | 更新日期: 2023-09-27 18:19:11

我能够通过以下代码在mongodb服务器中保存二进制文件:

using (var fs = new FileStream("C:''Data_w.bin", FileMode.Open))
{
    var gridFsInfo = database.GridFS.Upload(fs, fileName);
}

我可以看到保存在服务器上的文件。该文件大小约为42MB。我想在块中读取文件,即一次读取一次块并反序列化二进制数据并刷新到浏览器。

我如何通过c#驱动程序从mongodb读取数据块?

根据我的理解,下面的命令行只从大文件中读取第0块:

db.fs.chunks。find({"files_id": ObjectId("53f74e2f3f69bd30142f2193"),"n":0})

,但不知道如何在c#中编写相同的。请帮助

mongoddb:如何用c#读取二进制文件块

可以打开GridFS文件。打开(string remoteFileName, FileMode模式)返回MongoGridFSStream,并像使用任何其他System.IO.Stream一样使用它。它不会下载您不使用的块,并为您缓冲块,因此无需关注实现。所以你可以读取流的一部分,刷新到浏览器,读取另一部分,刷新等等。

缺乏c#驱动程序的文档,源代码是最好的文档。