mongoddb: как читать двоичные файлы кусками с помощью c #

1

Я могу сохранить двоичный файл на сервере mongodb через следующий код:

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

Я вижу файл, сохраненный на сервере. Размер файла составляет около 42 МБ. Я хочу прочитать файл в кусках, т.е. Читать один раз за один раз и десериализовать двоичные данные и скрыться в браузере.

Как я могу прочитать данные в кусках из mongodb через драйвер С#?

В соответствии с моим пониманием следующая командная строка читает только 0-й кусок из большого файла:

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

но не знаю, как писать то же самое в С#. Пожалуйста помоги

  • 2
    Почему вы думаете, что можете десериализовать часть файла?
  • 0
    Это потому, что двоичный файл содержит сериализованные данные.
Показать ещё 1 комментарий
Теги:

1 ответ

0

Вы можете открыть файл GridFS.Open(string remoteFileName, режим FileMode), который возвращает MongoGridFSStream и использовать его, как и любой другой System.IO.Stream. Он не загружает куски, которые вы не используете, и буферы для вас, поэтому вам не нужно заниматься реализацией. Таким образом, вы можете просто прочитать часть потока, очистить браузер, прочитать другую, сделать флеш и так далее.

Отсутствует документация для драйвера С#, исходный код - лучшая документация.

  • 0
    Можете ли вы уточнить фрагмент кода? Спасибо

Ещё вопросы

Сообщество Overcoder
Наверх
Меню