FileUploader::previewAction

  1. Bitrix24 API (v. 23.675.0)
  2. ui
  3. FileUploader
  4. previewAction
  • Модуль: ui
  • Путь к файлу: ~/bitrix/modules/ui/lib/controller/fileuploader.php
  • Класс: BitrixUIControllerFileUploader
  • Вызов: FileUploader::previewAction
public function previewAction(UploaderController $controller, string $fileId)
{
	$uploader = new Uploader($controller);
	$loadResults = $uploader->load([$fileId]);
	$loadResult = $loadResults->getAll()[0] ?? null;

	if ($loadResult === null)
	{
		$this->addError(new UploaderError(UploaderError::FILE_LOAD_FAILED));
	}
	else if ($loadResult->isSuccess())
	{
		$imageId = $loadResult->getFile() ? $loadResult->getFile()->getFileId() : 0;
		$imageData = CFile::getFileArray($imageId);

		if (is_array($imageData))
		{
			// Sync with BitrixUIFileUploaderUploader::getFileInfo
			$response = new ResponseResizedImage($imageData, 300, 300);
			$response->setResizeType(BX_RESIZE_IMAGE_PROPORTIONAL);
			$response->setCacheTime(86400);

			return $response;
		}
		else
		{
			$this->addError(new UploaderError(UploaderError::FILE_FIND_FAILED));
		}
	}
	else
	{
		$this->addErrors($loadResult->getErrors());
	}

	return [];
}

Добавить комментарий