/Methods/Upload

<< Click to Display Table of Contents >>

Navigation:  API MasterSCADA 4D > Подключение к исполнительной системе по JSON > HTTP API MasterPLC > Работа с файлами >

/Methods/Upload

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

HTTP: POST /Methods/Upload

Запрос

Тело запроса (POST_DATA) должно содержать только байты самого файла. JSON-обёртка не используется.

Так как тело занято файлом, идентификатор сессии обязательно должен передаваться через HTTP-заголовок (или параметр, который сервер преобразует в CGI-заголовок HTTP_SESSION_ID). В старой справке упоминалась передача sessionId через строку запроса (GET параметры), однако текущая реализация строго проверяет заголовок Session-Id.

Заголовки:

Session-Id: 12345 (Обязательно для успешной авторизации загрузки).

Ответ

{
  "code": 0,
  "fullPath": "/tmp/mplc4/e8a715f5-f865-4f46-8e10-c4475bd23912"
}

Поля ответа

Поле

Тип

Условие

Описание

code

int

Всегда

Код результата (0 при успешной загрузке).

fullPath

string

Успешно

Абсолютный путь к сохраненному файлу с уникальным сгенерированным именем.

Поведение и ограничения

Отсутствие JSON в запросе: Парсер JSON для этого маршрута не запускается. Если в теле будет JSON, он будет сохранён как содержимое текстового файла.

Директория сохранения:

На Windows файлы сохраняются по фиксированному пути: C:\ProgramData\MPSSoft\MasterSCADA4DRT\Server\temp\Files.

На Linux директория определяется настройками запуска (параметр --upload-files=), а по умолчанию используется /tmp/mplc4/.

Права доступа: Требуется валидная сессия. Без нее метод немедленно вернет ошибку OpcUa_BadSessionIdInvalid.

Ранний возврат: В отличие от обычных методов /Methods/*, Upload напрямую записывает ответ в поток и не возвращает поле serverTime.