- Модуль: disk
- Путь к файлу: ~/bitrix/modules/disk/lib/document/yandexdiskhandler.php
- Класс: BitrixDiskDocumentYandexDiskHandler
- Вызов: YandexDiskHandler::downloadPartFile
public function downloadPartFile(FileData $fileData, $startRange, $chunkSize)
{
if(!$this->checkRequiredInputParams($fileData->toArray(), array(
'id', 'src',
)))
{
return null;
}
$accessToken = $this->getAccessToken();
@set_time_limit(0);
$http = new HttpClient(array(
'socketTimeout' => 10,
'streamTimeout' => 30,
'version' => HttpClient::HTTP_1_1,
));
$http->setHeader('Authorization', "OAuth {$accessToken}");
$endRange = $startRange + $chunkSize - 1;
$http->setHeader('Range', "bytes={$startRange}-{$endRange}");
if($http->download($this->getDownloadUrl($fileData), $fileData->getSrc()) === false)
{
$errorString = implode('; ', array_keys($http->getError()));
$this->errorCollection->add(array(
new Error($errorString, self::ERROR_HTTP_DOWNLOAD_FILE)
));
return null;
}
return $fileData;
}