Upload.php 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?php
  2. namespace app\controller\adminapi\admin;
  3. use app\extra\basic\Base;
  4. use app\extra\service\system\SystemAttachmentService;
  5. use app\extra\tools\UploadExtend;
  6. use app\middleware\AuthMiddleware;
  7. use LinFly\Annotation\Route\Controller;
  8. use LinFly\Annotation\Route\Middleware;
  9. use LinFly\Annotation\Route\Route;
  10. use support\Request;
  11. use support\Response;
  12. #[Controller(prefix: "adminapi/upload"),Middleware(AuthMiddleware::class)]
  13. class Upload extends Base
  14. {
  15. /**
  16. * 上传文件
  17. * @param Request $request
  18. * @return Response
  19. */
  20. #[Route(path: "data[/{file_type}]",methods: "post")]
  21. public function upload2image(Request $request,$file_type): Response
  22. {
  23. try {
  24. $param = $request->post();
  25. $resp = UploadExtend::uploadFile();
  26. if (!isset($resp[0]['url'])) return errorTrans(40010);
  27. $systemAttachmentService = new SystemAttachmentService();
  28. $fileInfo = UploadExtend::getUploadInfo($resp);
  29. // //保存附件记录
  30. foreach ($fileInfo as $k => $v) {
  31. $systemAttachmentService->saveAttachment($v,$param['pid']??0, $file_type, 1);
  32. }
  33. return successTrans("success.data",[
  34. "fileName" => $resp[0]['origin_name'],
  35. "src" => $resp[0]['url'],
  36. ],200);
  37. } catch (\Throwable $throwable) {
  38. return error($throwable->getMessage());
  39. }
  40. }
  41. /**
  42. * 上传文件
  43. * @param Request $request
  44. * @return Response
  45. */
  46. #[Route(path: "file",methods: "post")]
  47. public function upload2file(Request $request): Response
  48. {
  49. try {
  50. $resp = UploadExtend::disk(UploadExtend::MODE_LOCAL)->uploadFile();
  51. if (!isset($resp[0]['url'])) return errorTrans(40010);
  52. return successTrans("success.data",[
  53. "fileName" => $resp[0]['origin_name'],
  54. "src" => $resp[0]['url'],
  55. ],200);
  56. } catch (\Throwable $throwable) {
  57. echo $throwable->getFile()."\n";
  58. echo $throwable->getLine()."\n";
  59. return error($throwable->getMessage());
  60. }
  61. }
  62. }