链街Dcat后台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.0 KiB

  1. <?php
  2. namespace App\Admin\Controllers\v3;
  3. use Dcat\Admin\Traits\HasUploadedFile;
  4. class FileController
  5. {
  6. use HasUploadedFile;
  7. public function handle()
  8. {
  9. $disk = $this->disk('oss');
  10. // 判断是否是删除文件请求
  11. if ($this->isDeleteRequest()) {
  12. // 删除文件并响应
  13. return $this->deleteFileAndResponse($disk);
  14. }
  15. // 获取上传的文件
  16. $file = $this->file();
  17. // 获取上传的字段名称
  18. $column = $this->uploader()->upload_column;
  19. $extension = $file->getClientOriginalExtension();
  20. $fileName = md5(uniqid()).'.'.$extension;
  21. $dir = 'my-images';
  22. $newName = $fileName;
  23. $result = $disk->putFileAs($dir, $file, $newName);
  24. $path = "{$dir}/$newName";
  25. $diskBak = $this->disk('public');
  26. $diskBak->putFileAs($dir, $file, $newName);
  27. return $result
  28. ? $this->responseUploaded($path, $disk->url($path))
  29. : $this->responseErrorMessage('文件上传失败');
  30. }
  31. }