Parcourir la source

师傅端视频提交

whitefang il y a 1 an
Parent
commit
b71c7c6371

+ 21 - 0
app/workerapi/controller/UploadController.php

@@ -4,6 +4,7 @@ namespace app\workerapi\controller;
 
 use app\workerapi\controller\BaseApiController;
 use app\common\enum\FileEnum;
+use app\workerapi\validate\UploadFileValidate;
 use Exception;
 use app\common\service\UploadService;
 
@@ -19,4 +20,24 @@ class UploadController  extends BaseApiController
             return $this->fail($e->getMessage());
         }
     }
+
+    public function uploadFile()
+    {
+        // dd($this->request->all());
+        $params = (new UploadFileValidate())->post()->goCheck('uploadFile');
+        try {
+            if ($params['file_type'] == FileEnum::IMAGE_TYPE) {
+                $result = UploadService::image(2, $this->userId, $params['source']);
+            } else if ($params['file_type'] == FileEnum::VIDEO_TYPE) {
+                $result = UploadService::video(2, $this->userId, $params['source']);
+            } else if ($params['file_type'] == FileEnum::FILE_TYPE) {
+                $result = UploadService::file(2, $this->userId, $params['source']);
+            } else {
+                throw  new \Exception('未定义文件类型');
+            }
+            return $this->success('上传成功', $result);
+        } catch (Exception $e) {
+            return $this->fail($e->getMessage());
+        }
+    }
 }

+ 34 - 0
app/workerapi/validate/UploadFileValidate.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace app\workerapi\validate;
+use app\common\validate\BaseValidate;
+
+/**
+ * @author 林海涛
+ * @date 2024/7/19 下午5:11
+ */
+class UploadFileValidate extends BaseValidate
+{
+    protected $rule = [
+        'cid' => 'require',
+        'source' => 'require',
+        'file_type' => 'require',
+    ];
+    protected $message = [
+        'cid.require' => '文件分类不存在',
+        'files.require' => '文件缺失',
+        'files.array' => '文件必须为数组',
+        'source.require' => '文件来源不能为空',
+        'file_type' => '文件类型',
+    ];
+
+    public function sceneUploadFile()
+    {
+        return $this->only(['cid','source','file_type']);
+    }
+
+    public function sceneUploadFiles()
+    {
+        return $this->only(['cid','source']);
+    }
+}