Хранение файлов
Все файлы в системе хранятся в базе данных MongoDb через GridFs. Почему выбрано такое решение:
Любое получение и изменение файлов происходит через обращение к базе посредством вызова серверного API, что позволяет настроить систему прав
Упрощение механизмов резервного копирования
Унификация компонентов использующих файлы
Настройки модуля прописываются в основном конфигурационном файле в разделе gridfs
Рекомендуется использовать отдельную базу данных.
На серверной стороне реализация работы с файлами находится в src/gfs.js. Список используемых маршрутов:
Кроме маршрутов, библиотека предоставляет несколько полезных методов для работы с файлами:
На стороне клиента доступны следующие
Шаблон редактирования file - подробнее об использовании шаблонов в редактировании моделей смотрите в разделе формы редактирования
Шаблон редактирования form_image - для добавления картинок
Custom binding user_avatar
Custom binding FileUpload
Метод сохранение файлов MModels.SaveFileToGfs
Пример кода, используемого в модуле filemanager:
В данном примере перед тем как отправить форму на сохранение, предварительно на сервер отправляется файл. Если при добавлении файла не произошло ошибки, то вторым этапом отправляется форма, в теле которой передается id добавленного файла.
Last updated