Перейти к содержанию

Управление файлами

Страница предназначена для просмотра и удаления файлов, загруженных в приложение.

Общее описание

Чтобы начать работать с файлами, необходимо в меню администрирования выбрать раздел "Файлы":

Страница "Файлы"

На странице «Файлы» представлен список задач, содержащих загруженные файлы. Для каждой задачи доступен функционал по работе с прикрепленными файлами (просмотр, удаление).

На рисунке представлен следующий функционал страницы:

  1. Поиск задач по наименованию;
  2. Выбор задачи из общего списка задач;
  3. Поиск файлов по наименованию;
  4. Кнопки для управления выбранным файлом:

    • Скачать - скачивает файл;
    • Удалить - удаляет файл.

Если внутри задачи есть папки, файлы будут представлены в древовидной структуре:

Все снимки пресетов, созданные в задаче, будут сохранены в папку screenshots (если ее нет, она будет создана).

Предпросмотр (двойной клик по файлу) доступен только для изображений.

Работа с файлами

  • Импорт/экспорт задачи не сохраняют импортируемые/экспортируемые задачи на файловый сервер.

  • Снимки пресетов сохраняются в папку screenshots.

  • При экспорте пресетов результат сохраняется во временную папку temp и автоматически удаляется через 24 часа.

Блоки, взаимодействующие с файловой системой

Область видимости всех блоков строго ограничена контекстом задачи, в рамках которой они созданы. Загрузка файлов, сформированных в рамках других задач, не допускается.

  • Блок "Загрузить файл" позволяет загрузить файл на сервер. Файл будет сохранен в корне задачи.
  • Блок "Скачать файл" позволяет скачивать файл с сервера.
  • Блок "Импорт файла" сохраняет файл импорта на сервер в корень задачи.
  • Блок "Python"
    • метод save_bytes позволяет сохранить файл на сервер. По умолчанию сохранение происходит в папку doc.
    • метод get_bytes позволяет получить файл в бинарном виде.
  • Блок "Таблица" (при экспорте таблицы) сохранит таблицу во временную папку tables/temp. Результат экспорта будет удален через 24 часа.

Работа с файловым сервером

Существует два режима работы с файловым сервером:

  • Работа в файловой системе;
  • Работа с сервером MinIO.

Вне зависимости от выбранного режима работы структура папок будет идентичная:

  • Задачи (в MinIO каждая задача создает отдельный контейнер (bucket));
  • Папка со скриншотами;
  • Папка с таблицами;
  • Папка с документами (Блок "Загрузить файл").

Настройки в файле конфигурации:

Общие настройки файловой системы в файле конфигурации:

  • path_storage - корневая папка для хранения файлов.
  • file_lifetime - время жизни файлов (в секундах).
  • temp_path_storage - путь для сохранения временных файлов (чаще всего используется при импорте файлов; после загрузки файлы удаляются из папки).

    Путь должен начинаться с папки, указанной в path_storage

  • file_storage - путь до файлового хранилища.

    Путь должен начинаться с папки, указанной в path_storage

  • static_path - путь к статическому содержимому (файлы из этой папки доступны клиентскому приложению).

    Путь должен начинаться с папки, указанной в path_storage

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

Название папок можно задать в конфигурационном файле:

  • global_file_folder - наименование контейнера/папки для хранения всех файлов, не привязанных к конкретной задаче.

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

  • screenshot_folder - папка для хранения скриншотов.

  • temporary_folder - папка для хранения временных файлов (все данные в этой папке будут периодически удаляться, при достижении времени жизни, указанного в file_lifetime).
  • table_folder - папка для хранения таблиц.
  • doc_folder - папка для хранения документов.

Файловое хранилище

Приложение по умолчанию работает в режиме работы с файловой системой.
Все создаваемые файлы будут размещены в директории, заданной значением параметра file_storage.

Перенос файлов при смене типа файлового сервера

При смене типа файлового сервера (включение/выключение MinIO) для переноса файлов из выключенного хранилища в текущее можно выполнить миграцию с помощью вызова API.

Токен пользователя

Для выполнения запроса потребуется токен пользователя, получаемый клиентским приложением.

POST|GET api/system/files/transfer

параметр:

  • debug: bool - проверка корректности переноса файлов. По умолчанию флаг включен.

При переносе файлы с одинаковыми именами будут перезаписаны