• Модуль: transformer
  • Путь к файлу: ~/bitrix/modules/transformer/lib/fileuploader.php
  • Класс: BitrixTransformerFileUploader
  • Вызов: FileUploader::getUploadInfo
static function getUploadInfo($commandId, $fileKey, $fileSize)
{
	$fileName = self::getUploadedName($commandId, $fileKey);
	$bucketId = $maxUploadSizeCloud = $maxUploadSize = 0;
	if(BitrixMainLoader::includeModule('clouds'))
	{
		$bucket = CCloudStorage::FindBucketForFile(array('size' => $fileSize, 'MODULE_ID' => self::MODULE_ID), $fileName);
		if($bucket != null)
		{
			if($bucket->init())
			{
				$bucketId = $bucket->ID;
				$maxUploadSizeCloud = $bucket->getService()->getMinUploadPartSize();
				$fileName = Path::combine(CCloudTempFile::GetDirectoryName($bucket, 1), $fileName);
			}
		}
	}

	if(!$bucketId)
	{
		$fileName = Path::combine(CTempFile::GetDirectoryName(1), $fileName);
	}

	$maxUploadSizeLocal = min(self::parseSize(ini_get('post_max_size')), self::parseSize(ini_get('upload_max_filesize')));

	if($maxUploadSizeCloud > 0 && $maxUploadSizeCloud < $maxUploadSizeLocal)
	{
		$maxUploadSize = $maxUploadSizeCloud;
	}
	else
	{
		$maxUploadSize = $maxUploadSizeLocal - 1024;
	}

	if($maxUploadSize <= 0)
	{
 			$maxUploadSize = 5*1024*1024;
	}

	return array('name' => $fileName, 'bucket' => $bucketId, 'chunk_size' => $maxUploadSize, 'upload_type' => 'file');
}