Загрузка файла в директорию
Файл загружается в указанную директорию в разделе Файлы. Для этого на диске должно быть достаточно места. При этом если в директории уже есть файл с таким же именем, к имени файла будет добавлен постфикс в виде цифры — (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 Ошибка отображается в формате сообщения, описывающего проблему. Также текст ошибки может содержать коды |
|
402 | Payment Required Недостаточно места на диске |
|
403 | Forbidden Нет прав на создание файла |
|
default | Ответ сервера после загрузки файла в директорию |
Ответ сервера после загрузки файла в директорию (Загрузка файла в директорию) |