智慧教务系统
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.
 
 
 
 
 
 

94 lines
2.6 KiB

<?php
// +----------------------------------------------------------------------
// | Niucloud-admin 企业快速开发的多应用管理平台
// +----------------------------------------------------------------------
// | 官方网址:https://www.niucloud.com
// +----------------------------------------------------------------------
// | niucloud团队 版权所有 开源版本可自由商用
// +----------------------------------------------------------------------
// | Author: Niucloud Team
// +----------------------------------------------------------------------
namespace app\api\controller\upload;
use app\service\api\upload\Base64Service;
use app\service\api\upload\FetchService;
use app\service\api\upload\UploadService;
use core\base\BaseApiController;
use think\Request;
use think\Response;
class Upload extends BaseApiController
{
/**
* 图片上传
* @return Response
*/
public function image(Request $request){
$extraData = $request->all();
$data = $this->request->params([
['file', 'file'],
]);
$upload_service = new UploadService();
$res = $upload_service->image($data['file'],$extraData);
$res['ext'] = ''; // 初始化文件扩展名
$res['name'] = ''; // 初始化文件名称
if (isset($res['url'])) {
$res['ext'] = pathinfo($res['url'], PATHINFO_EXTENSION);
$res['name'] = basename($res['url']);
}
return success($res);
}
/**
* 视频上传
* @return Response
*/
public function video(){
$data = $this->request->params([
['file', 'file'],
]);
$upload_service = new UploadService();
$res = $upload_service->video($data['file']);
$res['ext'] = ''; // 初始化文件扩展名
$res['name'] = ''; // 初始化文件名称
if (isset($res['url'])) {
$res['ext'] = pathinfo($res['url'], PATHINFO_EXTENSION);
$res['name'] = basename($res['url']);
}
return success($res);
}
/**
* 远程图片拉取
* @return Response
*/
public function imageFetch(){
$data = $this->request->params([
['url', ''],
]);
$fetch_service = new FetchService();
return success($fetch_service->image($data['url']));
}
/**
* base64图片上传
* @return Response
*/
public function imageBase64(){
$data = $this->request->params([
['content', ''],
]);
$base64_service = new Base64Service();
return success($base64_service->image($data['content']));
}
}