• Модуль: 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();
}