FileController.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Admin\Controllers;
  3. use App\Lib\Uploads\UploadHandler;
  4. use App\Models\WxAttachment;
  5. use App\Wen\Utils\ImageUtils;
  6. use Dcat\Admin\Traits\HasUploadedFile;
  7. use Illuminate\Http\Request;
  8. /**
  9. * 后台自定义上传接口
  10. */
  11. class FileController
  12. {
  13. use HasUploadedFile;
  14. public function handle(Request $request)
  15. {
  16. // 判断是否是删除文件请求
  17. if ($this->isDeleteRequest()) {
  18. $disk = $this->disk('local');
  19. // 删除文件并响应
  20. return $this->deleteFileAndResponse($disk);
  21. }
  22. $file = $this->file();
  23. if(_empty_($file)){
  24. $file = $request->file('file');
  25. }
  26. $result = UploadHandler::handle($file, -1);
  27. // $filePath = $this->file();
  28. // $storePath = date('Y/m/d',time());
  29. // $disk = config('admin.upload.disk');
  30. // $path = $filePath->store($storePath,$disk);
  31. // $domain = config('filesystems.disks.'.$disk.'.domains.https');
  32. // if (_empty_($model)) {
  33. // $model = new WxAttachment();
  34. // $model->path = $path;
  35. // $result = $model->save();
  36. // }
  37. return $result
  38. ? ['data'=>[
  39. 'id'=>$result['url'],
  40. 'name'=>$result['name'],
  41. 'path'=>$result['path'],
  42. 'url'=>$result['url']
  43. ],'status'=>true]
  44. : $this->responseErrorMessage('文件上传失败');
  45. }
  46. public function batch_download(Request $request){
  47. $images = $request->images;
  48. $result = [
  49. 'status' => false,
  50. 'list' => [],
  51. 'responseText' => ''
  52. ];
  53. if(_empty_($images)){
  54. return $result;
  55. }
  56. foreach ($images as $url){
  57. $obj = [
  58. 'source' => $url,
  59. 'url' => '',
  60. 'status' => false,
  61. ];
  62. $path = ImageUtils::upload_url_img($url, '', [], [], true, 1, 1, 3);
  63. if($path){
  64. if($result['status'] == false){
  65. $result['status'] = true;
  66. }
  67. $obj['url'] = $path['url'];
  68. $obj['status'] = true;
  69. }
  70. $result['list'][] = $obj;
  71. }
  72. return $result;
  73. }
  74. }