FileUploadController.php 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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. $path = storage_path() . "/app/public/" . FileUploadService::tmp_dir . '/' . $date. '/' . $file_name;
  28. // 返回一个错误响应或默认图片
  29. if (! Storage::exists($path)) return $this->json_return(201,'File not exists');
  30. return response()->file($path);
  31. }
  32. //获取文件的位置
  33. public function getFileLocal($file_name){
  34. $path = storage_path() . "/app/public/upload_files/".$file_name;
  35. if(file_exists($path)) return response()->file($path);
  36. return "";
  37. }
  38. }