Загрузка временного файла
Загрузка файла на временное хранение.
Для загрузки необходимо сгенерировать 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 для оставшейся части.
Требования:
Заголовок Content-Type должен быть application/octet-stream
Тело запроса содержит бинарные данные файла
После загрузки файл необходимо инициализировать в течение 60 минут (иначе будет удален)
Способы инициализации:
- Перемещение в директорию через
/pub/v1/disk/file/move - Сохранение в приложении:
- Создание приложения:/pub/v1/app/{namespace}/{code}/create
- Обновление приложения:/pub/v1/app/{namespace}/{code}/{id}/update
Пример тела запроса для инициализации:
{"context":{"__file":[{"name": "example.txt", "hash": "131141f6-0d89-4316-a8f1-bc816f0672ef"}]}}
Запрос
POST /pub/v1/disk/file/upload
Параметры запроса (query)
| Имя параметра | Тип | Описание | Дополнительно |
|---|---|---|---|
| hash | uuid | Хеш файла, который будет загружаться по частям |
Обязательный |
Параметры формы
| Имя параметра | Тип | Описание | Дополнительно |
|---|---|---|---|
| file | file | name: File |
Авторизация
Запрос обязательно должен использовать один из следующих методов авторизации:
API key
Ответ
Могут быть возвращены следующие коды состояния HTTP:
| HTTP-статус | Описание | Модель ответа |
|---|---|---|
| 200 | OK Файл полностью загружен |
|
| 206 | Partial Content Часть файла успешно загружена |
|
| 400 | Bad Request Ошибка отображается в формате сообщения, описывающего проблему. Также текст ошибки может содержать коды |
|
| default | Ответ после загрузки одной из частей файла |
Ответ после загрузки одной из частей файла (Загрузка временного файла) |