duankezong4064
2017-08-23 14:16
浏览 65
已采纳

Symfony:从web文件夹中获取控制器中的文件

I want to get pdf file from web folder in controller, but can't figure out how to do it.

I've try to get path like this

// 1
$file = __DIR__ . '/../../../../web/1.pdf';  

// 2
$file = $this->get('kernel')->getRootDir().'\..\web\1.pdf';

// 3
$isSecure = $request->isSecure() ? 'https://' : 'http://';
$file = $isSecure . $request->getHost() . $this->container->get('assets.packages')->getUrl('1.pdf');

and then use file controller helper but it didn't work.

How can I get that file from public directory?

图片转代码服务由CSDN问答提供 功能建议

我想从控制器中的web文件夹中获取pdf文件,但无法弄清楚如何操作。< / p>

我试图获得这样的路径

  // 1 
 $ file = __DIR__。  '/../../../../web/1.pdf';  
 
 // 2 
 $ file = $ this-&gt; get('kernel') - &gt; getRootDir()。'\ .. \ web \ 1.pdf'; 
 
 // 3 \  n $ isSecure = $ request-&gt; isSecure()?  'https://':'http://'; 
 $ file = $ isSecure。  $ request-&gt; getHost()。  $ this-&gt; container-&gt; get('assets.packages') - &gt; getUrl('1.pdf'); 
   
 
 

然后使用< a href =“https://symfony.com/blog/new-in-symfony-3-2-file-controller-helper”rel =“nofollow noreferrer”>文件控制器助手但它不起作用 。

如何从公共目录中获取该文件?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douchuang4181 2017-08-23 14:24
    已采纳

    Try this -

    Append this to autoload.php

    define('APPLICATION_PATH', realpath(__DIR__) . '/');
    define('WEB_PATH',  APPLICATION_PATH . '../web/');
    

    also you can add another folders

    Then

    file_get_content(WEB_PATH . 'your_file.pdf');
    

    Another way -

    $path = $this->getParameter('dir.downloads');
    

    But don't forget to declare it on parameters.yml like this

    parameters:
        ....
        dir.downloads: var/www (your folder)
        ....
    
    已采纳该答案
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题