Эта документация была автоматически переведена ИИ.
Загрузка файлов для полей вложений и файловых коллекций поддерживается через HTTP API. Способ вызова отличается в зависимости от используемого движка хранения.
Для встроенных в проект открытых движков хранения (например, 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-запрос. Включите в тело запроса информацию о файле, чтобы получить предварительно подписанные данные для загрузки.
Примечание:
name: Имя файлаsize: Размер файла (в байтах)type: MIME-тип файла. Вы можете ознакомиться с ним здесь: Распространенные MIME-типыstorageId: ID движка хранения (полеid, возвращенное на первом шаге)storageType: Тип движка хранения (полеtype, возвращенное на первом шаге)Пример данных запроса:
Структура полученных предварительно подписанных данных:
Загрузка файла
Используйте полученный putUrl для выполнения PUT-запроса, загрузив файл в качестве тела запроса.
Примечание:
putUrl: ПолеputUrl, возвращенное на предыдущем шагеfile_path: Локальный путь к загружаемому файлуПример данных запроса:
Создание записи файла
После успешной загрузки файла создайте запись о нем, выполнив операцию 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, возвращенное на первом шагеПример данных запроса:
Первые три шага аналогичны загрузке для полей вложений. На четвертом шаге вам нужно создать запись файла, выполнив операцию create для ресурса файловой коллекции, отправив 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, возвращенное на первом шагеПример данных запроса: