Тут все просто.
Хранить можно в ФС, можно в БД.
Хранить в ФС советую если сервер полностью Ваш, т.е. Вы сами обеспечиваете его. Если же Вы используете какой-нибудь Heroku, то тут однозначно БД. Из плюсов хранения в БД, это относительно не сложный backup.
В проекте, над которым я работаю, файлы хранятся в ФС (сервер хоть и принадлежит заказчику, но он полностью в нашем распоряжении). Путь до корневого каталога с файлами лежит в БД. И вся мета-информация о файле лежит в БД.