Ця документація була автоматично перекладена штучним інтелектом.
Завантаження файлів як для полів вкладень, так і для файлових колекцій підтримується через 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), передаючи ім'я сховища (storage name), щоб запросити конфігураційну інформацію рушія зберігання.
Приклад повернутої конфігураційної інформації рушія зберігання:
Отримання попередньо підписаної інформації від постачальника послуг
Виконайте операцію createPresignedUrl для ресурсу fileStorageS3, надішліть POST-запит та включіть інформацію, пов'язану з файлом, у тіло запиту, щоб отримати попередньо підписану інформацію для завантаження.
Примітка:
- name: Ім'я файлу
- size: Розмір файлу (у байтах)
- type: MIME-тип файлу. Ви можете звернутися до: Поширені MIME-типи
- storageId: Ідентифікатор рушія зберігання (поле
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, повернуте на першому кроціПриклад даних запиту: