Skip to content

Файлы объекта

Alien Ufo edited this page Jun 9, 2022 · 16 revisions

С объектом в системе можно ассоциировать файл. Если содержимое файла не будет пустым то файл автоматически выгрузится из базы данных в хранилище файлов, что предоставит возможность скачивать файл по прямой ссылке. Ссылка на файл будет указана в поле link.

API

POST /api/v1/object/file

Получить или установить связь объекта с файлом на сервере или содержимое файла.

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

Имя Тип Значение Описание
id UUID Обязательный. Идентификатор объекта.
files JSON array null OR json Вариативный. Массив JSON объектов с описанием файлов.

Формат files:

Ключ Тип Описание
name STRING Обязательный. Наименование файла на сервере (без пути).
path STRING Необязательный. Путь к файлу. По умолчанию: /.
size INTEGER Необязательный. Размер файла (осторожнее с null или 0).
date TIMESTAMP Необязательный. Дата и время файла.
data BASE64 Необязательный. Содержимое файла (если нужно).
hash STRING Необязательный. Хеш файла.
text STRING Необязательный. Описание файла.
type STRING Необязательный. Тип файла.

ВНИМАНИЕ: Если значение files не указано или равно null, то метод работает как Получить иначе как Установить.

Установить

POST /api/v1/object/file/set

Установить связь объекта с файлом на сервере.

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

Имя Тип Значение Описание
id UUID Обязательный. Идентификатор объекта.
files JSON array Обязательный. Массив JSON объектов с описанием файлов.

ВНИМАНИЕ: Значения не указанных ключей считаются как null.

ВНИМАНИЕ: Если значение ключа size не указано или равно нулю, то действие считается как Удалить.

Пример запроса:

POST /api/v1/object/file/set HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg

{
   "id":"29ece761-f1d8-4957-8ce9-de27b319a7fa",
   "files":[
      {
         "name": "icon.jpg",
         "path": "/public",
         "size": 2245,
         "date": "2019-06-21T06:32:54.317Z",
         "text": "icon.jpg",
         "type": "data:image/jpeg;base64,",
         "data": "<BASE64 encoded data>"
      }
   ]
}

Получить

POST /api/v1/object/file/get

Получить связь объекта с файлом на сервере.

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

Имя Тип Значение Описание
id UUID Обязательный. Идентификатор объекта.
name STRING Обязательный. Наименование файла на сервере.
fields JSON array Необязательный. Массив JSON string полей в таблице, если не указано то запрос вернет все поля.

Формат ответа:

Поле Тип Описание
object UUID Идентификатор объекта.
name STRING Наименование файла на сервере (без пути).
path STRING Путь к файлу. По умолчанию: /.
size INTEGER Размер файла (осторожнее с null или 0).
date TIMESTAMP Дата и время файла.
data BASE64 Содержимое файла (если есть).
link STRING Прямая ссылка на файл. Подробнее: Хранилище файлов.
hash STRING Хеш файла.
text STRING Описание файла.
type STRING Тип файла.
loaded TIMESTAMP Когда был загружен на сервер.

Пример запроса:

POST /api/v1/object/file/get HTTP/1.1
Host: localhost:8080
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.[сокращенно для краткости].NorYsi-Ht826HUFCEArVZ60_dEUmYiJYXubnTyweIMg

{
   "object": "29ece761-f1d8-4957-8ce9-de27b319a7fa",
   "name": "icon.jpg",
   "path": "/public"
}

Пример ответа:

{
   "object": "29ece761-f1d8-4957-8ce9-de27b319a7fa",
   "name": "icon.jpg"
   "path": "/public/",
   "size": 2245,
   "date": "2019-06-21T06:32:54.317",
   "data": "<BASE64 encoded data>",
   "link": "/file/29ece761-f1d8-4957-8ce9-de27b319a7fa/public/icon.jpg"
   "hash": null,
   "text": "icon.jpg",
   "type": "data:image/jpeg;base64,",
   "loaded": "2021-04-05T21:12:19.417855"
}

Список

POST /api/v1/object/file/list

Получить связи объекта с файлами на сервере в виде списка.

Параметры запроса: Общие параметры запроса для списка

Clone this wiki locally