Symfony 4-从项目目录下载文件

时间:2018-10-05 07:59:27

标签: symfony download twig

在我的public文件夹中,放置了一个.txt文件,一旦用户单击下载按钮,便可以下载该文件。

在我的控制器中,我将path作为要在模板中传递的变量。

$context['path'] = '/public/sample.txt';

在我的树枝文件中,我有:

<a href="{{ path }}">Download</a>

但是,当我单击链接时,下载失败,并且找不到文件。有没有简单的方法可以完成这项工作?

当我单击链接时,将显示以下内容:

enter image description here

2 个答案:

答案 0 :(得分:0)

也许可以工作:

$context['path'] = '/sample.txt';

您尝试过吗?

答案 1 :(得分:0)

根据Symfony docs下载静态文件的正确方法是:

$response = new Symfony\Component\HttpFoundation\BinaryFileResponse($file);

和/或添加标题和Content-Diposition:

$response->headers->set('Content-Type','text/plain'); $response->setContentDisposition(ResponseHeaderBag::DISPOSITION_ATTACHMENT, 'sample.txt');