- 复制上传视频代码
- 修改如下:
- \App\HttpController\Api\Upload.php
use App\Lib\ClassArr;
public function file(){
$request=$this->request();
$files=$request->getSwooleRequest()->files;
$types=array_keys($files);
$type=$types[0];
$classObj=new ClassArr();
$classStas=$classObj->uploadClassStat();
$uploadObj=$classObj->initClass($type,$classStas,[$request]);
$path=$uploadObj->upload();
$paths=explode('/',$path);
if(!empty($path)){
return $this->writeJson(200,array('data'=>array(
'url'=>'http://39.106.10.163:10000/'.$type.'/'.$paths[5].'/'.$paths[6]
)),'上传成功');
}
else{
return $this->writeJson(400,array('data'=>array(
'url'=>''
)),'上传失败');
}
}
<?php
namespace App\Lib;
class ClassArr{
public function uploadClassStat(){
return [
'video'=>'App\Lib\Upload\Video',
'image'=>'App\Lib\Upload\Image'
];
}
public function initClass($type,$supportedClass,$params=[],$needInstance=true){
if(!array_key_exists($type,$supportedClass)){
return false;
}
$className=$supportedClass[$type];
return $needInstance?(new \ReflectionClass($className))->newInstanceArgs($params):$className;
}
}