Загрузка файлов
Данный метод позволяет выполнять загрузку файлов в систему в три этапа: инициализация, загрузка файла и завершение обработки.
Этап 1. Инициализация загрузки
Для начала вы должны инициализировать процесс загрузки файла.
Запрос
curl -X GET "https://api.postmypost.io/v4/upload/init?project_id=<ваш_project_id>&name=<имя_файла>&size=<размер_файла>" \
-H "Authorization: Bearer <ваш_токен>"
Обязательные параметры
Должны быть указаны либо следующие параметры
project_id
— уникальный идентификатор проекта, для которого выполняется загрузка.url
— адрес загрузки файла.
Либо
project_id
— уникальный идентификатор проекта, для которого выполняется загрузка.name
— имя загружаемого файла.size
— размер файла в байтах.
Пример ответа
{
"id": number,
"name": string,
"size": number,
"action": string,
"fields": {
"acl": string,
"key": string,
"X-Amz-Credential": string,
"X-Amz-Algorithm": string,
"X-Amz-Date": string,
"Policy": string,
"X-Amz-Signature": string
},
"status": 5
}
Ответ содержит
id
— идентификатор загрузки.action
— URL для загрузки файла.fields
— объект с параметрами, которые нужно передать в заголовке при загрузке файла.
Значения status
5
— ожидание загрузки.4
— загрузка файла.3
— обработка и подготовка превью.2
— ошибка обработки файла.1
— файл успешно загружен.
Этап 2. Загрузка файла
После получения информации с первого этапа нужно выполнить POST-запрос к указанному action
. В запросе необходимо передать файл и параметры из fields
.
Если на предыдущем этапе файл был передан по url
, данный шаг игнорируется, и необходимо сразу перейти к следующему этапу.
Запрос
curl -X POST "<action>" \
-F "file=@<путь_к_файлу>" \
-F "acl=<acl>" \
-F "key=<key>" \
-F "X-Amz-Credential=<X-Amz-Credential>" \
-F "X-Amz-Algorithm=<X-Amz-Algorithm>" \
-F "X-Amz-Date=<X-Amz-Date>" \
-F "Policy=<Policy>" \
-F "X-Amz-Signature=<X-Amz-Signature>"
Обратите внимание
<action>
— URL из ответа первого этапа.- Все значения из объекта
fields
должны быть переданы как параметры в заголовке.