Как правильно сохранять файлы на сервере

Необходимо реализовать хранение файлов на сервере.

Есть клиент, который отправляет на сервер файлы в виде массива байтов, но меня волнует вопрос - как правильно сохранять эти файлы.

  1. Хранить ли эти файлы в базе данных в какой-нибудь таблице "Files" (собственно, сам массив байт). Пример столбцов в таблице: Id (Guid), Name (Text), File (Text)
  • Id - уникальный идентификатор для строки таблицы
  • Name - название программы
  • File - файл, преобразованный в массив байт

или же

  1. Хранить их в виде файлов в какой-нибудь папке на сервере, а в базу данных создавать запись только о том, куда этот файл был сохранён (пример столбцов в таблице, как это вижу я: Id (Guid), Name (Text), Path (Name), Revision (Int))
  • Id - уникальный идентификатор для строки таблицы
  • Name - название программы
  • Path - путь до программы
  • Revision - "версия" файла

UPD:

Конечная цель - создание модуля программы для совместного редактирования файлов. Пример: клиент редактирует файл, сохраняет его, отправляет на сервер - остальные клиенты видят, что версия файла изменилась, и они могут скачать его. Из-за нехватки знаний в области работы с файлами не могу точно спрогнозировать, какой подход окажется удобнее в будущем. Хотелось-бы выбрать наиболее удачный, чтобы не пришлось в дальнейшем придумывать костыли


Ответы (0 шт):