Symfony BinaryFileResponse设置文件名

时间:2015-03-07 20:48:15

标签: php file symfony controller

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

1 个答案:

答案 0 :(得分:31)

是。 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'
);