从Symfony3中的服务器路径打开pdf

时间:2018-01-30 08:46:52

标签: symfony

我想在窗口浏览器中打开pdf文件,但我有"文件" \\ servername \ 20 \ 2016080.pdf"不存在" 如果我在浏览器中复制此路径,则可以正常工作。

编辑:我在日志中找到了

  

CRITICAL - 未捕获的PHP异常Symfony \ Component \ HttpFoundation \ File \ Exception \ FileNotFoundException:"文件" \\ servername \ 20 \ 2016080.pdf"不存在"在C:\ wamp64 \ www \ his \ vendor \ symfony \ symfony \ src \ Symfony \ Component \ HttpFoundation \ File \ File.php第37行

谢谢。

$response = new BinaryFileResponse($result = $ServerModel->getDocument($request-> get('id'));
$response->headers->set('Content-Type', 'application/pdf');
return $response; 

2 个答案:

答案 0 :(得分:0)

如果您正在使用symfony 3.2或更高版本(您应该使用它),则可以使用新的$pdfPath = $this->getParameter('dir.downloads').'/sample.pdf'; return $this->file($pdfPath); 帮助程序来提供二进制文件。

from the symfony docs

SplFileInfo::

如何获取文件的路径可能会因您的实现而有所不同。但如果它是一个直的$file->getPathname(); 对象php docs,那么你可以使用:

<ul>

    <li class="nav_menu"><a id="currentlink" href="#">HOME PAGE</a></li>
    <li class="nav_menu"><a href="homework/homework2/index.html">II</a></li>
    <li class="nav_menu"><a href="#">III</a></li>
    <li class="nav_menu"><a href="#">IV</a></li>
    <li class="nav_menu"><a href="#">V</a></li>
    <li class="nav_menu"><a href="#">VI</a></li>
    <li class="nav_menu"><a href="#">VII</a></li>
    <li class="nav_menu"><a href="#">VIII</a></li>
    <li class="nav_menu"><a href="#">IX</a></li>
    <li class="nav_menu"><a href="#">X</a></li>
</ul>
<style>
ul li:nth-child(3) a{
    color: #111111;
}
</style>

文件助手将为您自动完成大量繁重工作。

确保文件可通过路线或非防火墙路径访问。

答案 1 :(得分:0)

'1B1'