config = $config; $this->engine = $this->getEngineClass($storage); } /** * 设置上传的文件信息 * @param string $name * @return mixed */ public function setUploadFile($name = 'iFile') { return $this->engine->setUploadFile($name); } /** * 设置上传的文件信息 * @param string $filePath * @return mixed */ public function setUploadFileByReal($filePath) { return $this->engine->setUploadFileByReal($filePath); } /** * 执行文件上传 * @param $save_dir (保存路径) * @return mixed */ public function upload($save_dir) { return $this->engine->upload($save_dir); } /** * Notes: 抓取网络资源 * @param $url * @param $key * @author 张无忌(2021/3/2 14:16) * @return mixed */ public function fetch($url, $key) { return $this->engine->fetch($url, $key); } /** * 执行文件删除 * @param $fileName * @return mixed */ public function delete($fileName) { return $this->engine->delete($fileName); } /** * 获取错误信息 * @return mixed */ public function getError() { return $this->engine->getError(); } /** * 获取文件路径 * @return mixed */ public function getFileName() { return $this->engine->getFileName(); } /** * 返回文件信息 * @return mixed */ public function getFileInfo() { return $this->engine->getFileInfo(); } /** * 获取当前的存储引擎 * @param null|string $storage 指定存储方式,如不指定则为系统默认 * @return mixed * @throws Exception */ private function getEngineClass($storage = null) { $engineName = is_null($storage) ? $this->config['default'] : $storage; $classSpace = __NAMESPACE__ . '\\engine\\' . ucfirst($engineName); if (!class_exists($classSpace)) { throw new Exception('未找到存储引擎类: ' . $engineName); } if($engineName == 'local') { return new $classSpace(); } return new $classSpace($this->config['engine'][$engineName]); } }