FileUploadController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Service\FileUploadService;
  4. use Illuminate\Http\Request;
  5. //文件上传
  6. class FileUploadController extends BaseController
  7. {
  8. public function uploadFile(Request $request){
  9. $service = new FileUploadService();
  10. list($status,$data) = $service->uploadFile($request->file('file'));
  11. if($status){
  12. return $this->json_return(200,'上传成功',['url' => $data]);
  13. }else{
  14. return $this->json_return(201,$data);
  15. }
  16. }
  17. public function uploadFileForKq(Request $request){
  18. $service = new FileUploadService();
  19. list($status,$data) = $service->uploadFileForKq($request->file('file'));
  20. if($status){
  21. return $this->json_return(200,'上传成功',['url' => $data]);
  22. }else{
  23. return $this->json_return(201,$data);
  24. }
  25. }
  26. //获取文件的位置预览(临时文件)
  27. public function getFile($file_name){
  28. $file_name = str_replace(FileUploadService::string2,'',$file_name);
  29. $timestamp = substr($file_name, 0, 8); // 截取前八位数字
  30. $date = \DateTime::createFromFormat('Ymd', $timestamp);
  31. $date = $date->format('Y-m-d');
  32. $path = storage_path() . "/app/public/" . FileUploadService::tmp_dir . '/' . $date. '/' . $file_name;
  33. return response()->file($path);
  34. }
  35. //获取文件的位置
  36. public function getFileLocal($file_name){
  37. $path = storage_path() . "/app/public/upload_files/".$file_name;
  38. if(file_exists($path)) return response()->file($path);
  39. return "";
  40. }
  41. }