• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/controller/base.php
  • Класс: BitrixDocumentGeneratorControllerBase
  • Вызов: Base::uploadFile
protected function uploadFile($fileContent = null, array $options = [])
{
	$options = array_merge([
		'fileParamName' => null,
		'required' => true,
		'isTemplate' => false,
	], $options);
	$fileParamName = $options['fileParamName'];
	$required = $options['required'];
	if(!$fileParamName)
	{
		$fileParamName = static::FILE_PARAM_NAME;
	}
	if(!$fileContent)
	{
		$fileContent = $this->request->getFile($fileParamName);
	}
	if(!$fileContent && !$required)
	{
		return null;
	}
	if(!$fileContent)
	{
		$this->errorCollection[] = new Error('Missing file content');
		return false;
	}

	$fileArray = CRestUtil::saveFile($fileContent);
	if(!$fileArray)
	{
		$this->errorCollection[] = new Error('Could not save file');
		return false;
	}

	$fileArray['isTemplate'] = $options['isTemplate'];

	$saveResult = FileTable::saveFile($fileArray);
	if($saveResult->isSuccess())
	{
		return $saveResult->getId();
	}
	else
	{
		$this->errorCollection->add($saveResult->getErrors());
		return false;
	}
}