如何在 Symfony 中创建一个下载文件的 link

How to create a link that download a file in Symfony

我做了一些研究,发现了这个 post: How to create a link to download generated documents in symfony2?

我尝试了解决方案,但它在浏览器中显示我的 pdf,但我想要的是当有人单击 link 时,它会直接下载文件。有没有办法用 Symfony 做到这一点?

Kévin Duguay

设置一个动作。 这使用路线的注释。你当然可以使用 yml 或 xml 或任何你当前使用的

/**
 * @Route("/download", name="download_file")
**/
public function downloadFileAction(){
    $response = new BinaryFileResponse('path/to/pdf.pdf');
    $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT,'pdf.pdf');
    return $response;
}

Twig 模板:

<a href="{{path('download_file')}}">Download file</a>