- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/internals/controller.php
- Класс: BitrixDiskInternalsController
- Вызов: Controller::resizeImage
protected function resizeImage($fileData, $objectId): array
{
if (TypeFile::shouldTreatImageAsFile($fileData))
{
return $fileData;
}
$width = $this->request->getQuery('width');
$height = $this->request->getQuery('height');
if ($width > 0 || $height > 0)
{
$signature = $this->request->getQuery('signature');
if (!$signature)
{
$this->sendJsonInvalidSignResponse('Empty signature');
}
if (!ParameterSigner::validateImageSignature($signature, $objectId, $width, $height))
{
$this->sendJsonInvalidSignResponse('Invalid signature');
}
$resizeType = $this->request->getQuery('exact') === 'Y' ? BX_RESIZE_IMAGE_EXACT : BX_RESIZE_IMAGE_PROPORTIONAL;
$tmpFile = CFile::resizeImageGet(
$fileData,
['width' => $width, 'height' => $height],
$resizeType,
true,
false,
true
);
$fileData['FILE_SIZE'] = $tmpFile['size'];
$fileData['SRC'] = $tmpFile['src'];
}
return $fileData;
}