У нас было большое LOB-приложение, которое предоставляло идентификационную информацию банковских служащих о члене, стоящем перед ними. Наши текстовые данные были сохранены в SQL Server. Данные изображения были сохранены в файлах. Поле базы данных просто имело имя файла. Этот подход хорошо работает, если вы находитесь за брандмауэром. Читать и писать файлы легко. Беда в управлении файлами. Вы должны защитить файловую систему, чтобы случайные люди не могли просматривать каталог. Кроме того, резервные копии более сложны со свободными файлами изображений. Вы должны сделать резервную копию базы данных и файлов изображений. Поля могут ссылаться на пути, которые больше не существуют. Например, какой-то чувак решил переместить папку с изображениями, и теперь все ссылки в БД не работают. Если вашему приложению требуется передавать информацию через брандмауэр, я бы предложил хранить изображения на SQL Server с использованием упомянутого хранилища FileStream.
Хранение изображений в базе данных спасло бы нас от горя. Нам нужно было только сделать резервную копию базы данных, она была бы более безопасной, ссылки никогда не сломались бы, и нам не пришлось бы перепрыгивать через обручи, чтобы получить файлы из сети вне брандмауэра.