// +---------------------------------------------------------------------- namespace crmeb\services\upload; use crmeb\basic\BaseManager; use think\facade\Config; use think\helper\Str; /** * Class Upload * @package crmeb\services\upload * @mixin \driver\upload\Local\Driver * @mixin \driver\upload\Oss\Driver * @mixin \driver\upload\Cos\Driver * @mixin \driver\upload\Qiniu\Driver * @mixin \driver\upload\Jdoss\Driver * @mixin \driver\upload\Obs\Driver * @mixin \driver\upload\Tyoss\Driver */ class Upload extends BaseManager { /** * 空间名 * @var string */ protected $namespace = '\\driver\\upload\\'; /** * 设置默认上传类型 * @return mixed */ protected function getDefaultDriver() { return Config::get('upload.default', 'local'); } /** * 重写驱动类解析,优先从子目录加载 Driver.php * @param string $type * @return string */ protected function resolveClass(string $type): string { $studly = Str::studly($type); $class = $this->namespace . $studly . '\\Driver'; if (class_exists($class)) { return $class; } throw new \InvalidArgumentException("Driver [{$type}] not supported."); } }