upload_state_store

Директива `upload_state_store` настраивает метод временного хранения состояний сеансов загрузки файлов в NGINX.

Синтаксисupload_state_store path [session_id] [options];
По умолчаниюnone
Контекстhttp, server, location
Аргументы1-4

Описание

Директива upload_state_store является частью модуля загрузки NGINX, который обрабатывает отправку файлов, используя стандарт кодирования multipart/form-data. Эта директива определяет, как хранится состояние сеанса загрузки, что позволяет возобновлять прерванные загрузки. Она принимает до четырёх аргументов, которые могут включать путь для сохранения информации о состоянии, идентификатор сеанса и необязательные настройки для обработки ошибок или отдельных состояний. При задании директивы она отслеживает текущий процесс загрузки и обеспечивает возможность возобновления прерванной загрузки с последнего известного состояния вместо начала с нуля. Это особенно полезно при работе с большими файлами или в условиях нестабильной сети, где возможны прерывания.

Когда начинается операция загрузки, состояние сеанса сохраняется во временных файлах в соответствии с указаниями директивы. Загруженные файлы и соответствующие им состояния хранятся безопасно и могут быть восстановлены позже, что обеспечивает плавный пользовательский опыт. Кроме того, реализована корректная обработка ошибок, позволяющая надёжно восстанавливаться после прерываний. Это помогает эффективно управлять ресурсами и обеспечивает успешное завершение загрузок даже в неблагоприятных условиях, повышая тем самым надёжность функционала загрузки файлов в приложениях, использующих NGINX.

Пример конфига

location /upload {
    upload_pass /process;
    upload_state_store /tmp/upload_states;
    # Optional: specify session ID and additional options
    upload_state_store /tmp/upload_states $session_id; 
}

Убедитесь, что указанный путь имеет соответствующие права на запись для пользователя NGINX.

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

Путь к хранилищу должен поддерживать одновременный доступ на запись для обработки нескольких загрузок.

← Ко всем директивам