Как сохранить загруженные изображения в коллекцию MongoDB и получить ее - PullRequest
5 голосов
/ 24 сентября 2011

Я хочу сохранить загруженные файлы, такие как изображение аватара пользователя, в коллекцию пользователей в MongoDB, я думаю, что следующие шаги:

  1. пользователь загружает изображение;
  2. использовать FileHandler (IHttpHandler, Asp.net) для приема файлового потока на веб-сервере;
  3. затем я получаю этот файл в двоичном виде и устанавливаю его в объект класса User
  4. наконец сохраните объект, поэтому пользовательская коллекция получит файл двоичных данных.

Прав ли я об этом? Не могли бы вы дать мне подсказку?

Ответы [ 2 ]

4 голосов
/ 20 декабря 2011

Вы должны просто использовать GridFS для этого - нет причин, по которым вам следует беспокоиться о том, что файлы слишком велики или слишком малы, чтобы это имело смысл.GridFS был разработан для хранения файлов, поэтому вы должны его использовать.

Вы всегда можете сохранить ссылку на файл GridFS в обычном документе MongoDB, если вам нужно, а затем загрузить его из GridFS, когда вам нужно использоватьэто.

См. эту тему: MongoDB GridFs с C #, как хранить файлы, такие как изображения?

0 голосов
/ 02 августа 2018

Согласно документации Mongo grid fs.Если все ваши файлы меньше предельного размера документа BSON в 16 МБ, рассмотрите возможность сохранения каждого файла в одном документе вместо использования GridFS.Вы можете использовать тип данных BinData для хранения двоичных данных.Подробнее об использовании BinData см. В документации по драйверам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...