|
<< 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.