Symfony BinaryFileResponse set filename

后端 未结 1 1800
醉话见心
醉话见心 2021-01-03 23:24

Is it possible to set a custom filename when the file is returned by a Symfony2 controller using a BinaryFileResponse response?

相关标签:
1条回答
  • 2021-01-04 00:03

    Yes. The BinaryFileResponse class has a method setContentDisposition() that takes the file name as the second argument.

    The first argument is the way the file should be delivered. It can be ResponseHeaderBag::DISPOSITION_ATTACHMENT (or just the string "attachment") if the file should be offered for downloading, or ResponseHeaderBag::DISPOSITION_INLINE (or "inline") if you want the file to be shown in the browser (you may want to do this with images, for example).

    A full code example:

    <?php
    use Symfony\Component\HttpFoundation\BinaryFileResponse;
    use Symfony\Component\HttpFoundation\ResponseHeaderBag;
    
    $response = new BinaryFileResponse('/path/to/myfile');
    $response->setContentDisposition(
        ResponseHeaderBag::DISPOSITION_ATTACHMENT,
        'file_name.txt'
    );
    
    0 讨论(0)
提交回复
热议问题