Файловая система

Доступ к директориям и встроенным файловым системам.

Типы записей

Тип Описание
fs.directory Файловая система на основе директории
fs.embed Встроенная файловая система (только чтение)

Директория

- name: uploads
  kind: fs.directory
  directory: "/var/data/uploads"
  auto_init: true
  mode: "0755"
Поле Тип По умолчанию Описание
directory string обязательно Корневой путь
auto_init bool false Создать директорию, если не существует
mode string 0755 Unix-права (восьмеричное число)
base string - База для относительных путей: project (рабочий каталог процесса) или module (корень загрузки владеющего модуля)

Абсолютные пути используются как есть, что бы ни говорил base.

Для относительного пути base: project оставляет его относительным рабочему каталогу процесса. И base: module, и незаданный base разрешают его относительно корня загрузки модуля, владеющего записью, определяемого через владельца записи в реестре. Когда у записи нет владеющего модуля или у этого модуля нет разрешимого корня ресурсов, путь остаётся относительным рабочему каталогу процесса.

Любое другое значение отклоняется с invalid directory base.

Права ограничивают все файловые операции. Биты выполнения добавляются автоматически, когда установлены все биты чтения и не установлен ни один бит выполнения.

Пути нормализуются и проверяются. Доступ к файлам за пределами настроенной корневой директории невозможен.

Встроенная файловая система

- name: static
  kind: fs.embed

Встроенные файловые системы загружаются из ресурсов пакета по ID записи. Они доступны только для чтения.

Встроенные файловые системы — внутренний механизм. Ручная настройка обычно не требуется.

Операции

Оба типа файловых систем реализуют:

Операция Directory Embed
Open/Read Да Да
Stat Да Да
ReadDir Да Да
OpenFile (запись) Да Нет
Remove Да Нет
Mkdir Да Нет
Rename Да Нет

Операции записи во встроенных файловых системах возвращают ошибку.

Lua API

См. Модуль Filesystem для файловых операций.

См. также

  • Модуль Filesystem — справочник Lua API
  • Cloud Storage — S3-совместимое объектное хранилище
  • Template — шаблоны, загружаемые из файловых систем