Skip to content

Изображения

Механизм изображений устроен асинхронно. Пример: Вы хотите отправить сообщение с прикрепленным изображением. - Сам нужно сгенерировать GUID. Он будет уникальным идентификатором изображения. - Отправьте сообщение и в список изображений добавьте созданный GUID. Если, кто-либо сделает запрос GetImage с GUID этого изображения, то он получит ошибку.
- Загрузите изображение методом StoreImage. Изображение будет прикреплено к сообщению, которое имеет GUID этого изображения. - Изображение будет доступно через метод GetImage.

Пример показывает, что вы можете ссылаться на изображения, которые еще не загружены. Вы можете загрузить изображение до его использования. В этом случае оно будет доступно сразу.

Доступ к изображению регулируется объектом к которому оно прикреплено. Пример: Изображение прикреплено к сообщению в сделке, значит доступ к изображению имеют только те пользователи, которые имеют доступ к сообщению: Продавец, Покупатель, Арбитр (при создании Диспута).

StoreImage

message StoreImageRequest{
  string Id = 1;
  bytes Data = 2;
}
message Image{
  string Id = 1;
  google.protobuf.Timestamp CreatedAt = 2;
  bytes Preview = 3;
  bytes Original = 4;
  bool IsPreview = 5;
}

rpc StoreImage(StoreImageRequest) returns (Image);

Загрузка изображения в приложение. Допускаются только изображения в формате JPEG и не более 10МБ. EXIF метаданные удаляются.

StoreImageRequest

  • Id - GUID изображения.
  • Data - Изображение.

Image

  • Id - GUID изображения.
  • CreatedAt - Дата создания изображения.
  • Preview - Сжатое изображение, для предварительного просмотра.
  • Original - Не сжатое изображение.
  • IsPreview - Если True, то актуально только поле Preview.

GetImage

message GetImageRequest{
  string Id = 1;
  bool IsPreview = 2;
}
rpc GetImage(GetImageRequest) returns (Image);

Получение изображения.

GetImageRequest

  • Id - GUID изображения.
  • IsPreview - Если True, то будет загружено сжатое изображение, для предварительного просмотра. Если False, то будет загружено оригинальное изображение.