UploadController.php 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Laravel框架 [ Laravel ]
  4. // +----------------------------------------------------------------------
  5. // | 版权所有 2017~2021 Laravel研发中心
  6. // +----------------------------------------------------------------------
  7. // | 官方网站: http://www.laravel.cn
  8. // +----------------------------------------------------------------------
  9. // | Author: wesmiler <12345678@qq.com>
  10. // +----------------------------------------------------------------------
  11. namespace App\Http\Controllers\Api\v1;
  12. use App\Http\Controllers\Api\webApp;
  13. use Illuminate\Http\Request;
  14. /**
  15. * 上传文件-控制器
  16. * @since 2020/11/11
  17. * Class UploadController
  18. * @package App\Http\Controllers
  19. */
  20. class UploadController extends webApp
  21. {
  22. /**
  23. * 上传图片
  24. * @param Request $request 网络请求
  25. * @return array
  26. * @since 2020/11/11
  27. */
  28. public function uploadImage(Request $request)
  29. {
  30. // 上传单图统一调取方法
  31. $result = upload_image($request, 'file');
  32. if (!$result['success']) {
  33. return ['url'=> '', 'message'=>$result['msg'], 'error'=> true];
  34. }
  35. // 文件路径
  36. $file_path = $result['data']['img_path'];
  37. if (!$file_path) {
  38. return ['url'=> '', 'message'=>'文件上传失败', 'error'=> true];
  39. }
  40. // 网络域名拼接
  41. if ($file_path && strpos($file_path, IMG_URL) === false) {
  42. $file_path = get_image_url($file_path);
  43. }
  44. // 返回结果
  45. return message(MESSAGE_OK, true, ['url'=> $file_path, 'path'=> $result['data']['img_path']]);
  46. }
  47. /**
  48. * 上传文件(单个上传)
  49. * @param Request $request
  50. * @since 2020/11/11
  51. */
  52. public function uploadFile(Request $request)
  53. {
  54. $result = upload_file($request);
  55. if (!$result['success']) {
  56. return message(MESSAGE_FAILED, false, $result['msg']);
  57. }
  58. // 文件路径
  59. $file_path = isset($result['data']['file_path'])? $result['data']['file_path'] : '';
  60. if (!$file_path) {
  61. return message(message("文件上传失败"));
  62. }
  63. // 网络域名拼接
  64. if (strpos($file_path, IMG_URL) === false) {
  65. $file_path = IMG_URL . $file_path;
  66. }
  67. // 返回结果
  68. return message(MESSAGE_OK, true, $file_path);
  69. }
  70. }