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

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

Типы записей

Тип Описание
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-права (восьмеричное число)

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

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

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

- name: static
  kind: fs.embed

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

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

Операции

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

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

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

Lua API

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