Интерфейс HTTP API
Загрузка файлов как для полей вложений, так и для коллекций файлов поддерживается через HTTP API. Способ вызова отличается в зависимости от движка хранения, используемого полем вложения или коллекцией файлов.
Серверная загрузка
Для встроенных open-source движков хранения в проекте, таких как S3, OSS и COS, вызов HTTP API аналогичен загрузке через пользовательский интерфейс — файлы загружаются через сервер. Для вызова API требуется передать JWT-токен (основанный на входе пользователя) через заголовок запроса Authorization, иначе доступ будет запрещён.
Поле вложения
Инициируйте действие create ресурса вложений (attachments), отправьте POST-запрос и загрузите бинарное содержимое через поле file. После вызова файл будет загружен в движок хранения по умолчанию.
Чтобы загрузить файл в другой движок хранения, используйте параметр attachmentField, чтобы указать движок хранения, настроенный для поля коллекции (если не настроено — файл будет загружен в движок по умолчанию).
Коллекция файлов
При загрузке в коллекцию файлов автоматически создаётся запись о файле. Инициируйте действие create ресурса коллекции файлов, отправьте POST-запрос и загрузите бинарное содержимое через поле file.
При загрузке в коллекцию файлов указывать движок хранения не требуется — файл будет загружен в движок хранения, настроенный для этой коллекции.
Клиентская загрузка
Для S3-совместимых движков хранения, предоставляемых коммерческим плагином S3-Pro, загрузка через HTTP API выполняется в несколько шагов.
Поле вложения
-
Получить информацию о движке хранения
Инициируйте действие
getBasicInfoколлекции хранилищ (storages), передав имя хранилища, чтобы запросить конфигурацию движка хранения.Пример возвращаемой конфигурации движка хранения:
-
Получить предварительно подписанные данные у провайдера
Инициируйте действие
createPresignedUrlресурсаfileStorageS3, отправьте POST-запрос и передайте в body информацию о файле, чтобы получить предварительно подписанные данные для загрузки.Примечание:
- name: имя файла
- size: размер файла (в байтах)
- type: MIME-тип файла. Можно использовать справочник: Распространённые MIME-типы
- storageId: идентификатор движка хранения (поле
id, возвращённое на первом шаге) - storageType: тип движка хранения (поле
type, возвращённое на первом шаге)
Пример данных запроса:
Структура полученных presigned-данных:
-
Загрузить файл
Используйте возвращённый
putUrl, чтобы отправитьPUT-запрос и передать файл в body.Примечание:
- putUrl: поле
putUrl, возвращённое на предыдущем шаге - file_path: локальный путь к загружаемому файлу
Пример данных запроса:
- putUrl: поле
-
Создать запись о файле
После успешной загрузки инициируйте действие
createресурса вложений (attachments) — отправьте POST-запрос, чтобы создать запись о файле.Описание зависимых данных в
data-raw:- title: поле
fileInfo.title, возвращённое на предыдущем шаге - filename: поле
fileInfo.key, возвращённое на предыдущем шаге - extname: поле
fileInfo.extname, возвращённое на предыдущем шаге - path: по умолчанию пустое
- size: поле
fileInfo.size, возвращённое на предыдущем шаге - url: по умолчанию пустое
- mimetype: поле
fileInfo.mimetype, возвращённое на предыдущем шаге - meta: поле
fileInfo.meta, возвращённое на предыдущем шаге - storageId: поле
id, возвращённое на первом шаге
Пример данных запроса:
- title: поле
Коллекция файлов
Первые три шага такие же, как при загрузке в поле вложения. На четвёртом шаге нужно создать запись о файле, инициировав действие create ресурса коллекции файлов: отправьте POST-запрос и передайте информацию о файле в body.
Описание зависимых данных в
data-raw:
- title: поле
fileInfo.title, возвращённое на предыдущем шаге- filename: поле
fileInfo.key, возвращённое на предыдущем шаге- extname: поле
fileInfo.extname, возвращённое на предыдущем шаге- path: по умолчанию пустое
- size: поле
fileInfo.size, возвращённое на предыдущем шаге- url: по умолчанию пустое
- mimetype: поле
fileInfo.mimetype, возвращённое на предыдущем шаге- meta: поле
fileInfo.meta, возвращённое на предыдущем шаге- storageId: поле
id, возвращённое на первом шагеПример данных запроса:

