Файлы (Files)

Ресурс File — для скачивания загруженных файлов

Файл

URL: /{api url}/files/{fileId}

Параметры:

  • fileId: (number) — идентификатор файла

Скачать файл [GET]

Вернет редирект на ссылку на скачивание контента файла.

Ответ: 302

Заголовок:

Location: https://server.with.files.domain/url/to/file?tokenParma=tokenValue

Прикрепление файла к записи

Файлы, прикрепленные к записям могут быть прикреплены 2 способами:

  • Прикрепление внешнего файла — файл хранится на внешнем источнике, запись в каталоге содержит файл-ссылку на реальный файл на внешнем источнике.
  • Загрузка файла в хранилище — файл загружается и хранится в файловом хранилище Bpium, к записи в кателоге прикрепляется ссылка на файл в файлом хранилище Bpium.

Прикрепление ссылки на внешней файл

Чтобы прикрепить ссылку на внешний файл к записи каталога, нужно создать/сохранить запись каталога, указав ссылку на файл и его параметры в поле типа «Файл». Пример:

        {
            "values": {
                "16": [{ // поле файл
                    "title": "bpium_logo.png", // название файла
                    "url": "https://..." // ссылка на файл
                    "size": "8513", // размер файла
                    "mimeType": "image/png" // MIME-тип файла
                }]
            }
        }

Подробнее по работе с полями записей в статье «Записи (Records)».

Загрузка файла в файловое хранилище Bpium

Загрузка файла и прикрепление к записи ссылки на него происходит в несколько этапов:

1. Получение ключей доступа к хранилищу

Необходимо выполнить POST-запрос к ресурсу файл, для создания файла:

URL: /{api url}/files/

Параметры запроса (JSON):

        {
                "catalogId": "38" // ID каталога с записью, к которой будет прикреплен файл
                "fieldId": "2", // ID поля каталога
                "name": "favicon16_drugmedia.png", // имя файла
                "size": 2900, // размер файла
                "mimeType": "image/png", // MIME-тип файла
                "typeStorage": "remoteStorage" // обязательный параметр
        }

Возвращаемое значение (JSON):

        {
                "fileId": 531, // ID созданного файла
                "uploadUrl": "...", // URL хранилища файлов
                "redirect": "...",
                "acl": "private",
                "fileKey": "3/517227d3-6ccc-4c4e-8c0d-35bec5bc62f8/file.png", // путь к файлу в хранилище
                "AWSAccessKeyId": "...", // идентификатор доступа
                "police": "...", // код доступа
                "signature": "...", // подпись к коду доступа
        }

Ключи доступа действуют на загрузку одного файла в течение ограниченного времени.

2. Загрузка файла в хранилище

Необходимо выполнить POST-запрос к хранилищу файлов:

URL: {uploadUrl из предыдущего запроса}

Параметры запроса (POST-параметры):

key="fileKey из предыдущего запроса"&
acl="private"&
AWSAccessKeyId="AWSAccessKeyId из предыдущего запроса"&
Policy="policy из предыдущего запроса"&
Signature="signature из предыдущего запроса"&

+ сам загружаемый файл

3. Прикрепление файла к записи

Создать/сохранить запись в каталоге. Пример:

        {
            "values": {
                "16": [{ // поле файл
                    "id": 531, // ID созданного файла из запроса шага 1
                }]
            }
        }

Подробнее по работе с полями записей в статье «Записи (Records)».


results matching ""

    No results matching ""