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

JM *_*toc 2 download symfony twig

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

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

$context['path'] = '/public/sample.txt';
Run Code Online (Sandbox Code Playgroud)

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

<a href="{{ path }}">Download</a>
Run Code Online (Sandbox Code Playgroud)

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

这是我单击链接时出现的内容:

在此处输入图片说明

Gio*_*ani 7

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

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

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

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