- Модуль: im
- Путь к файлу: ~/bitrix/modules/im/lib/V2/Entity/File/FileItem.php
- Класс: BitrixImV2EntityFileFileItem
- Вызов: FileItem::getPreviewLink
private function getPreviewLink(): string
{
$urlManager = UrlManager::getInstance();
$diskFile = $this->getDiskFile();
if ($diskFile->getView()->getPreviewData())
{
$linkType = 'disk.api.file.showPreview';
$fileName = 'preview.jpg';
}
elseif (TypeFile::isImage($diskFile))
{
$linkType = 'disk.api.file.showImage';
$fileName = $diskFile->getName();
}
else
{
return '';
}
return BitrixImCommon::getPublicDomain() . $urlManager->create($linkType, [
'humanRE' => 1,
'width' => 640,
'height' => 640,
'signature' => BitrixDiskSecurityParameterSigner::getImageSignature($diskFile->getId(), 640, 640),
'fileId' => $diskFile->getId(),
'fileName' => $fileName
])->getUri();
}