UploadFileController.php 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. <?php
  2. namespace app\admin\controller;
  3. use support\Storage;
  4. class UploadFileController
  5. {
  6. /**
  7. * @Desc 上传文件
  8. * @Author Gorden
  9. * @Date 2024/2/26 13:22
  10. *
  11. * @return \support\Response
  12. */
  13. public function upload($config)
  14. {
  15. try {
  16. $res = Storage::uploadFile($config);
  17. $data = [
  18. 'url' => $res[0]['url'],
  19. 'path' => $config['uri'] . date('Ymd') . '/' . $res[0]['save_name'],
  20. 'size' => $res[0]['size'],
  21. 'mime_type' => $res[0]['mime_type'],
  22. ];
  23. } catch (\Exception $e) {
  24. return json_fail('上传失败:' . $e->getMessage());
  25. }
  26. return json_success('上传成功', $data);
  27. }
  28. /**
  29. * @Desc 上传图片
  30. * @Author Gorden
  31. * @Date 2024/2/26 17:16
  32. *
  33. * @return \support\Response
  34. */
  35. public function image()
  36. {
  37. $config = [
  38. 'single_limit' => 1024 * 1024 * 5,
  39. 'nums' => 1,
  40. 'include' => ['jpg', 'jpeg', 'png'],
  41. 'uri' => '/storage/images/',
  42. 'root' => public_path() . '/storage/images/',
  43. ];
  44. return $this->upload($config);
  45. }
  46. /**
  47. * @Desc 上传视频
  48. * @Author Gorden
  49. * @Date 2024/2/26 17:16
  50. *
  51. * @return \support\Response
  52. */
  53. public function video()
  54. {
  55. $config = [
  56. 'single_limit' => 1024 * 1024 * 50,
  57. 'nums' => 1,
  58. 'include' => ['mp4'],
  59. 'uri' => '/storage/videos/',
  60. 'root' => public_path() . '/storage/videos/',
  61. ];
  62. return $this->upload($config);
  63. }
  64. }