Uploads.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\controller\api;
  3. use app\extra\basic\Base;
  4. use app\extra\tools\UploadExtend;
  5. use app\middleware\WxMiddleware;
  6. use app\model\saas\SaasUpload;
  7. use LinFly\Annotation\Route\Controller;
  8. use LinFly\Annotation\Route\Route;
  9. use support\Request;
  10. use support\Response;
  11. use Webman\Annotation\Middleware;
  12. #[Controller(prefix: "/wx_api/upload"),Middleware(WxMiddleware::class)]
  13. class Uploads extends Base
  14. {
  15. /**
  16. * 上传文件
  17. * @param Request $request
  18. * @return Response
  19. */
  20. #[Route(path: "data",methods: "post")]
  21. public function uploadData(Request $request): Response
  22. {
  23. try {
  24. $param = $request->post();
  25. $resp = UploadExtend::disk(UploadExtend::MODE_LOCAL)->uploadFile();
  26. events("clear-upload",['key' => $param['key']]);
  27. (new SaasUpload())->insertGetId([
  28. "key" => $param['key'],
  29. "path" => $resp[0]['url'],
  30. "agent_id" => $param['shop']
  31. ]);
  32. if (!isset($resp[0]['url'])) return errorTrans(40010);
  33. return successTrans("success.data",[
  34. "fileName" => $resp[0]['origin_name'],
  35. "src" => $resp[0]['url'],
  36. ],200);
  37. } catch (\Throwable $th) {
  38. return error($th->getMessage());
  39. }
  40. }
  41. }