FileUploadController.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Exports\MyExport;
  4. use App\Service\FileUploadService;
  5. use App\Service\OssService;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Storage;
  8. use PhpOffice\PhpSpreadsheet\Calculation\Statistical\Distributions\F;
  9. //文件上传
  10. class FileUploadController extends BaseController
  11. {
  12. public function uploadFile(Request $request){
  13. $service = new FileUploadService();
  14. list($status,$data) = $service->uploadFile($request->file('file'));
  15. if($status){
  16. return $this->json_return(200,'上传成功',['url' => $data]);
  17. }else{
  18. return $this->json_return(201,$data);
  19. }
  20. }
  21. //获取文件的位置预览(临时文件)
  22. public function getFile($file_name){
  23. $file_name = str_replace(FileUploadService::string2,'',$file_name);
  24. $timestamp = substr($file_name, 0, 8); // 截取前八位数字
  25. $date = \DateTime::createFromFormat('Ymd', $timestamp);
  26. $date = $date->format('Y-m-d');
  27. $dir = FileUploadService::tmp_dir . '/' . $date. '/' . $file_name;
  28. $path = storage_path() . "/app/public/" . $dir;
  29. // 返回一个错误响应或默认图片
  30. if (! Storage::disk('public')->exists($dir)) return $this->json_return(201,'File not exists');
  31. return response()->file($path);
  32. }
  33. //获取文件的位置
  34. public function getFileLocal($file_name){
  35. $path = storage_path() . "/app/public/upload_files/".$file_name;
  36. if(file_exists($path)) return response()->file($path);
  37. return "";
  38. }
  39. }