Файл загружается в указанную директорию в разделе Файлы. Для этого на диске должно быть достаточно места. При этом если в директории уже есть файл с таким же именем, к имени файла будет добавлен постфикс в виде цифры — (1) и так далее.
Для загрузки необходимо сгенерировать UUID и передать его в качестве параметра запроса hash. Он будет являться идентификатором тела файла.
Файл можно загрузить полностью или по частям. Чтобы загрузить файл целиком, необходимо передать заголовок Content-Range со значением bytes 0-[size]/[size] (например, bytes 0-1000/1000).
Для загрузки по частям файл должен быть разбит на отрезки. Все они, кроме последнего, должны быть равными. Размер отрезков должен составлять не менее 5 мегабайт (5 242 880 байт) и не более 5 гигабайт (5 368 709 120 байт). Остаток может быть любым.
Чтобы оповестить сервер о том, какая из частей загружается, необходимо передать заголовок Content-Range. Заголовок задается по шаблону: bytes [range-start]-[range-end]/[size]. Например, для загрузки файла размером 7 мегабайт необходимо передать следующие заголовки: bytes 0-5242880/7340032 для первой части файла размером 5 мегабайт и bytes 5242880-7340032/7340032 для оставшейся части.

Запрос

POST /pub/v1/disk/directory/{id}/upload

Параметры пути (path)

Имя параметра Тип Описание Дополнительно
id uuid

Идентификатор директории

Обязательный

Параметры запроса (query)

Имя параметра Тип Описание Дополнительно
hash uuid

Идентификатор тела файла

Обязательный

Параметры формы

Имя параметра Тип Описание Дополнительно
file file

name: file
Загружаемый файл

Авторизация

Запрос обязательно должен использовать один из следующих методов авторизации: API key

Ответ

Могут быть возвращены следующие коды состояния HTTP:

HTTP-статус Описание Модель ответа
200 OK

Файл полностью загружен

206 Partial Content

Часть файла успешно загружена

400 Bad Request

Ошибка отображается в формате сообщения, описывающего проблему. Также текст ошибки может содержать коды EntityTooSmall — файл разбит на слишком маленькие части, InvalidPart — одна из частей не найдена в хранилище, InvalidPartOrder — неверный порядок частей в файле, NoSuchUpload — загрузка не найдена

402 Payment Required

Недостаточно места на диске

403 Forbidden

Нет прав на создание файла

default

Ответ сервера после загрузки файла в директорию

Ответ сервера после загрузки файла в директорию (Загрузка файла в директорию)