>백엔드 개발 >PHP 튜토리얼 >탐색 없이 Laravel의 뷰에서 파일을 다운로드하는 방법은 무엇입니까?

탐색 없이 Laravel의 뷰에서 파일을 다운로드하는 방법은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-04 12:23:291050검색

How to Download Files from a View in Laravel Without Navigation?

Response::download를 사용하여 Laravel에서 파일 다운로드

많은 개발자는 사용자가 탐색 없이 보기 내에서 파일을 다운로드하도록 허용하려고 할 때 문제에 직면합니다. . 이 문서에서는 일반적인 문제를 다루고 해결 방법을 제공합니다.

문제:
파일 경로 "/public/download/info.pdf"가 존재하지 않으며 다운로드 버튼을 사용하여 다음을 탐색할 수 있습니다. 다운로드를 시작하는 대신 사용자에게 다른 보기를 제공합니다.

가능한 해결 방법:

1. 올바른 파일 경로:

첫 번째 문제는 잘못된 파일 경로에서 발생합니다. "./download/info.pdf" 대신 전체 실제 경로를 지정해야 합니다:

<code class="php">$file = public_path(). "/download/info.pdf";</code>

2. 탐색 방지:

사용자 탐색을 방지하려면 버튼을 다음으로 교체하세요.

<code class="html"><a href="#" onclick="downloadFile();" class="btn btn-large pull-right"><i class="icon-download-alt"></i> Download Brochure</a></code>

3. JavaScript 함수:

다운로드를 처리할 JavaScript 함수 추가:

<code class="javascript">function downloadFile() {
    var url = "/download";
    window.location.href = url;
    return false;
}</code>

4. 업데이트된 컨트롤러:

적절한 헤더가 포함된 파일을 반환하도록 컨트롤러를 수정합니다.

<code class="php">public function getDownload()
{
    $headers = ['Content-Type' => 'application/pdf'];

    return response()->download($file, 'filename.pdf', $headers);
}</code>

Laravel 5 이상에 대한 참고 사항:

버전 5 이상에서는 Response::download() 대신 response()->download()를 사용하세요. 또한 헤더 배열은 연관 배열로 형식을 지정해야 합니다.

<code class="php">$headers = [
    'Content-Type' => 'application/pdf',
];</code>

이러한 업데이트를 구현하면 다운로드 버튼을 누르면 사용자가 다른 곳으로 이동하지 않고도 동일한 보기에서 파일 다운로드가 시작됩니다.

위 내용은 탐색 없이 Laravel의 뷰에서 파일을 다운로드하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.