智慧教务系统
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.7 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\service\api\upload;
use app\dict\sys\FileDict;
use app\dict\sys\StorageDict;
use app\service\core\upload\CoreUploadService;
use core\base\BaseApiService;
use core\exception\UploadFileException;
use Exception;
/**
* 用户服务层
* Class BaseService
* @package app\service
*/
class UploadService extends BaseApiService
{
private $root_path = 'file';
private $cate_id = 0;
/**
* 附件库上传图片
* @param $file
* @return array
* @throws Exception
*/
public function image($file,array $extraData = [])
{
$dir = $this->root_path . '/' . 'image' . '/' . date('Ym') . '/' . date('d');//打印结果 例如=file/image/202505/29
$core_upload_service = new CoreUploadService();
return $core_upload_service->image($file, $dir, $this->cate_id);
}
/**
* 头像上传(使用腾讯云存储)
* @param $file
* @return array
* @throws Exception
*/
public function avatar($file,array $extraData = [])
{
$dir = $this->root_path . '/' . 'avatar' . '/' . date('Ym') . '/' . date('d');//打印结果 例如=file/avatar/202505/29
$core_upload_service = new CoreUploadService();
return $core_upload_service->image($file, $dir, $this->cate_id);
}
/**
* 附件库上传视频
* @param $file
* @return array
* @throws Exception
*/
public function video($file)
{
$dir = $this->root_path . '/' . 'video' . '/' . date('Ym') . '/' . date('d');
$core_upload_service = new CoreUploadService();
return $core_upload_service->video($file, $dir, $this->cate_id);
}
/**
* 文件上传
* @param $file
* @param string $type
* @return array
* @throws Exception
*/
public function document($file, string $type = '')
{
if (!in_array($type, FileDict::getSceneType()))
throw new UploadFileException('UPLOAD_TYPE_ERROR');
$dir = $this->root_path . '/document/' . $type . '/' . date('Ym') . '/' . date('d');
$core_upload_service = new CoreUploadService();
return $core_upload_service->document($file, $type, $dir, StorageDict::LOCAL);
}
}