Как правильно сохранять файлы на сервере
Необходимо реализовать хранение файлов на сервере.
Есть клиент, который отправляет на сервер файлы в виде массива байтов, но меня волнует вопрос - как правильно сохранять эти файлы.
- Хранить ли эти файлы в базе данных в какой-нибудь таблице "Files" (собственно, сам массив байт). Пример столбцов в таблице: Id (Guid), Name (Text), File (Text)
- Id - уникальный идентификатор для строки таблицы
- Name - название программы
- File - файл, преобразованный в массив байт
или же
- Хранить их в виде файлов в какой-нибудь папке на сервере, а в базу данных создавать запись только о том, куда этот файл был сохранён (пример столбцов в таблице, как это вижу я: Id (Guid), Name (Text), Path (Name), Revision (Int))
- Id - уникальный идентификатор для строки таблицы
- Name - название программы
- Path - путь до программы
- Revision - "версия" файла
UPD:
Конечная цель - создание модуля программы для совместного редактирования файлов. Пример: клиент редактирует файл, сохраняет его, отправляет на сервер - остальные клиенты видят, что версия файла изменилась, и они могут скачать его. Из-за нехватки знаний в области работы с файлами не могу точно спрогнозировать, какой подход окажется удобнее в будущем. Хотелось-бы выбрать наиболее удачный, чтобы не пришлось в дальнейшем придумывать костыли