doubei3312 2014-08-23 15:45
浏览 39
已采纳

symfony2重定向到流文件

Hi guys I have a little question in symfony2.

Can you tell me how to redirect in controller to open (stream) a file in asset folder Not to force to download

for example : I have a file in root/web/bundles/ace/file.pdf

I used this code, but this failed to open /stream the file. This code force browser to download

        $path = $this->get('kernel')->getRootDir().DIRECTORY_SEPARATOR."..".DIRECTORY_SEPARATOR."web".DIRECTORY_SEPARATOR."bundles".DIRECTORY_SEPARATOR.
            "bsibkpm".DIRECTORY_SEPARATOR."download".DIRECTORY_SEPARATOR . $fileName;
    //echo $path;die();
    $content = file_get_contents($path);

    $response = new Response();

    $response->headers->set('Content-Type', 'application/pdf');
    $response->headers->set('Content-Disposition', 'attachment;filename="'.$fileName);
    $response->sendHeaders();
    $response->setContent($content);
    return $response;``

Many thanks for your help before

Hendrawan

  • 写回答

1条回答 默认 最新

  • doujujian0052 2014-08-23 22:02
    关注

    You should set Content-Disposition to inline

    $response->headers->set('Content-Disposition', 'inline;filename="'.$fileName);
    

    P.S. check this bundle https://github.com/igorw/IgorwFileServeBundle

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?