【问题标题】:Laravel download pdf in public folderLaravel 在公共文件夹中下载 pdf
【发布时间】:2025-12-28 04:25:11
【问题描述】:

我有一个公开/下载的 pdf。我只想链接到它并让它下载或在浏览器中打开。我尝试在浏览器中点击http://localhost:8000/downloads/brochure.pdf,但我只是得到一个没有错误的白屏。在 Chrome DevTools > Network 中,它说请求已被取消。我通过 javascript 插入 URL,所以我不能像这里建议的其他答案一样使用 URL::to 或 link_to() 。

注意:当我以与小册子.pdf 相同的方式链接到 css 文件时,css 会出现在浏览器中。

【问题讨论】:

标签: laravel


【解决方案1】:

文件路径可以这样实现:

public function getDownload(){

        $file = public_path()."/downloads/info.pdf";
        $headers = array('Content-Type: application/pdf',);
        return Response::download($file, 'info.pdf',$headers);
    }

函数将从 'project/public/downloads' 文件夹下载文件。

(不要忘记自己设置路由和控制器)

【讨论】:

  • Laravel 8: 返回 response()->download($file, 'info.pdf', $headers);
【解决方案2】:

假设你已经将文件存放在public文件夹下的一个名为file的文件夹下,文件名为download.pdf,(public/file/download.pdf);

public function downloadPdfFile()
{
     $filepath = public_path('file/download.pdf');
     return Response()->download($filepath);
}

【讨论】: