/** * 展示临时文件 * @param $fileName * @return bool|null|string */ public function tmpFile($fileName,$filedir) { $temp_path = tempnam(sys_get_temp_dir(), $fileName); $isExist = file_put_contents($temp_path, Storage::get($filedir . $fileName)); return $temp_path; } /** * 响应文件 * @param $fileName 文件名称 * @return BinaryFileResponse */ public function downResponse($fileName,$filedir) { return new BinaryFileResponse($this->tmpFile($fileName,$filedir)); } /** * 展示临时文件 需要带token * @param Request $request * @return $this|BinaryFileResponse */ public function tmpFileShow($filedir,Request $request) { $fileName = $request->fileName ? $request->fileName : null; return $this->downResponse($fileName,$filedir)->deleteFileAfterSend(true); }
参考:https://segmentfault.com/q/1010000008258288