文档由系统创建并保存到文件夹/web/downloads。我创建了一个 View 来显示允许用户下载文件的链接,如果用户单击链接。 (标准点击下载功能)
我是 Symfony2 的新手并且正在了解整个路由/ Controller 概念,但是如何在仍然坚持 MVC 的同时创建到此类文件的链接?是否需要使用 Controller 设置路由,或者 twig 是否具有允许它等的功能。
附言: 我已经阅读了诸如 How to create a download link in Symfony2? 之类的问题但我不知道他们是在路由中做了什么还是只是添加了链接等。
谢谢,
最佳答案
示例实现是,
创建路线,
download_route:
pattern: /download/{filename}
defaults: { _controller: YourBundle:Controller:download }
然后在你的 Controller 中,
public function downloadAction($filename)
{
$request = $this->get('request');
$path = $this->get('kernel')->getRootDir(). "/../web/downloads/";
$content = file_get_contents($path.$filename);
$response = new Response();
//set headers
$response->headers->set('Content-Type', 'mime/type');
$response->headers->set('Content-Disposition', 'attachment;filename="'.$filename);
$response->setContent($content);
return $response;
}
用于生成下载链接检查Generating urls文档部分。
关于php - 如何创建链接以下载 symfony2 中生成的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10122807/