<?php // +---------------------------------------------------------------------- // | Bwsaas // +---------------------------------------------------------------------- // | Copyright (c) 2015~2020 http://www.buwangyun.com All rights reserved. // +---------------------------------------------------------------------- // | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) // +---------------------------------------------------------------------- // | Gitee ( https://gitee.com/buwangyun/bwsaas ) // +---------------------------------------------------------------------- // | Author: buwangyun <hnlg666@163.com> // +---------------------------------------------------------------------- // | Date: 2020-9-28 10:55:00 // +---------------------------------------------------------------------- namespace upload; use upload\driver\Alioss; use upload\driver\Local; use upload\driver\Qnoss; use upload\driver\Txcos; use think\File; /** * 上传组件 * Class Uploadfile * @package EasyAdmin\upload */ class Uploadfile { /** * 当前实例对象 * @var object */ protected static $instance; /** * 上传方式 * @var string */ protected $uploadType = 'local'; /** * 上传配置文件 * @var array */ protected $uploadConfig; /** * 需要上传的文件对象 * @var File */ protected $file; /** * 需要删除的文件对象 * @var string */ protected $delName; /** * 保存上传文件的数据表 * @var string */ protected $tableName = 'sys_uploadfile'; /** * 保存的顶级租户ID * @var string */ protected $member_id = 0; /** * 获取对象实例 * @return Uploadfile|object */ public static function instance() { if (is_null(self::$instance)) { self::$instance = new static(); } return self::$instance; } /** * 设置上传对象 * @param $value * @return $this */ public function setMemberId($value){ $this->member_id = $value; return $this; } /** * 设置上传对象 * @param $value * @return $this */ public function setFile($value) { $this->file = $value; return $this; } /** * 设置上传文件 * @param $value * @return $this */ public function setUploadConfig($value) { $this->uploadConfig = $value; return $this; } /** * 设置上传方式 * @param $value * @return $this */ public function setUploadType($value) { $this->uploadType = $value; return $this; } /** * 设置保存数据表 * @param $value * @return $this */ public function setTableName($value) { $this->tableName = $value; return $this; } /** * 保存文件 * @return array|void */ public function save() { $obj = null; if ($this->uploadType == 'local') { $obj = new Local(); } elseif ($this->uploadType == 'alioss') { $obj = new Alioss(); } elseif ($this->uploadType == 'qnoss') { $obj = new Qnoss(); } elseif ($this->uploadType == 'txcos') { $obj = new Txcos(); } $save = $obj->setUploadConfig($this->uploadConfig) ->setUploadType($this->uploadType) ->setTableName($this->tableName) ->setMemberId($this->member_id) ->setFile($this->file) ->save(); return $save; } /** * 设置删除的对象文件名称 * @param $value * @return $this */ public function setDelName($value) { $this->delName = $value; return $this; } /** * 删除文件 * @return array|void */ public function del() { $obj = null; if ($this->uploadType == 'local') { $obj = new Local(); } elseif ($this->uploadType == 'alioss') { $obj = new Alioss(); } elseif ($this->uploadType == 'qnoss') { $obj = new Qnoss(); } elseif ($this->uploadType == 'txcos') { $obj = new Txcos(); } return $obj->setUploadConfig($this->uploadConfig) ->setDelName($this->delName) ->del(); } }