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