Эта документация была автоматически переведена ИИ.
Загрузка файлов как для полей вложений, так и для файловых коллекций может быть выполнена через 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, возвращенное на шаге 1)storageType: Тип движка хранения (полеtype, возвращенное на шаге 1)Пример данных запроса:
Структура полученной предварительно подписанной информации выглядит следующим образом:
Загрузка файла
Используйте возвращенный 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, возвращенное на шаге 1.Пример данных запроса:
Первые три шага аналогичны загрузке для поля вложения. Однако на четвертом шаге вам необходимо создать запись файла, выполнив операцию 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, возвращенное на шаге 1.Пример данных запроса: