Symfony BinaryFileResponse设置文件名

use*_*101 16 php controller file symfony

当Symfony2控制器通过BinaryFileResponse响应返回文件时,是否可以设置自己的文件名?

han*_*nzi 34

是.该BinaryFileResponse班有一个方法setContentDisposition()是采用文件名作为第二个参数.

第一个参数是文件的传递方式.它可以是ResponseHeaderBag::DISPOSITION_ATTACHMENT(或只是字符串"attachment"),如果文件应该提供下载,或ResponseHeaderBag::DISPOSITION_INLINE(或"inline")如果您希望文件在浏览器中显示(例如,您可能想要使用图像).

一个完整的代码示例:

<?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'
);
Run Code Online (Sandbox Code Playgroud)