Laravel을 사용하여 효율적으로 파일 다운로드: Response::Download 사용
Laravel 애플리케이션 내에서 파일 다운로드를 활성화하는 동안 문제가 발생합니까? 이 문서에서는 파일 존재 오류 및 원치 않는 페이지 탐색과 같은 일반적인 문제를 해결하는 방법을 안내합니다.
문제 1: 파일 존재 오류
getDownload() 메소드가 올바르지 않습니다. 애플리케이션이 public/download/info.pdf에서 파일을 찾을 수 없습니다. 대신 다음을 사용해 보십시오.
<code class="php">$file= public_path(). "/download/info.pdf";</code>
파일의 전체 실제 경로를 제공합니다.
문제 2: 페이지 탐색
다운로드 시 사용자가 새 보기로 이동하지 못하도록 하려면 다음과 같이 뷰에 태그를 추가하세요.
<code class="html"><a href="#" class="btn btn-large pull-right" onclick="downloadFile()"><i class="icon-download-alt"></i> Download Brochure</a></code>
그런 다음 뷰에 다음 JavaScript 함수를 추가하세요.
<code class="javascript">function downloadFile() { window.location.href = "/download"; }</code>
이렇게 하면 페이지를 다시 로드하지 않고 getDownload() 작업이 호출됩니다.
Laravel 5 이상에 대한 업데이트된 응답
Laravel 버전 5 이상에서는 Response 파사드에 대한 새로운 구문을 도입했습니다. 원래 답변에 제공된 코드 대신 다음 코드를 사용하십시오.
<code class="php">$headers = [ 'Content-Type' => 'application/pdf', ]; return response()->download($file, 'filename.pdf', $headers);</code>
결론
이러한 변경 사항을 구현하면 기능적인 파일 다운로드 버튼이 표시됩니다. 다른 페이지로 이동하지 않고도 파일을 원활하게 다운로드합니다.
위 내용은 Laravel에서 파일을 효율적으로 다운로드하는 방법: 일반적인 문제 해결 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!