• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/model/file.php
  • Класс: BitrixDocumentGeneratorModelFileTable
  • Вызов: FileTable::saveFile
static function saveFile(array $fileArray, Storage $storage = null)
{
	if(!isset($fileArray['MODULE_ID']))
	{
		$fileArray['MODULE_ID'] = Driver::MODULE_ID;
	}
	if(!$storage)
	{
		$storage = Driver::getInstance()->getDefaultStorage();
	}
	$uploadResult = $storage->upload($fileArray);
	if($uploadResult->isSuccess())
	{
		$fileId = $uploadResult->getId();
		$addResult = static::add([
			'STORAGE_TYPE' => get_class($storage),
			'STORAGE_WHERE' => $fileId,
		]);
		if(!$addResult->isSuccess())
		{
			$storage->delete($fileId);
		}

		return $addResult;
	}

	return $uploadResult;
}