2015-04-02 130 views
0

我在本地(wamp)开发Symfony 2应用程序。我想增加通过网站下载一些文档的可能性。用Symfony 2下载文档

我曾经在控制器此方法:

public function downloadAction($filename = 'default_name') { 
    $file = $filename . '.pdf'; 
    $path = realpath($this->get('kernel')->getRootDir() . "/../doc/" . $file); 
    return new \Symfony\Component\HttpFoundation\BinaryFileResponse($path); 
} 

本地它的作品不错,但对于Chrome浏览一个文件(不知道为什么)。

当我在linux服务器上复制源代码时,它适用于所有文档但Firefox和IE8或Chrome的文档(同一个文档)不会下载,就像停在它的中间一样。

我试图用cas替换它几次它被破坏,但它做同样的事情。

你能帮忙吗?

谢谢

回答

0

其实完全没有必要创建只是在你的树枝模板,使用资产功能就像是<a href="{{ asset('yourbundle/docs/filetodownload.pdf')}}">download</a>

+0

链接把路径文件下载操作,谢谢你的提示......但如果有人对我的问题有一个回答,我想听到它 – mlwacosmos 2015-04-02 14:36:24

+0

我只是不明白你为什么要使用下载操作,它的目的是什么? – 2015-04-02 14:41:53

+0

@elkorchi anas。通过PHP传递文件的常见原因是提供访问安全性。直接链接到文件意味着该文件需要直接通过Web服务器公开显示给外部世界。当然,通过PHP进行存储和性能成本还是有的。 – tetranz 2015-04-02 16:51:47