【问题标题】:Symfony BinaryFileResponse set filenameSymfony BinaryFileResponse 设置文件名
【发布时间】:2015-03-07 20:48:15
【问题描述】:

当 Symfony2 控制器使用 BinaryFileResponse 响应返回文件时,是否可以设置自定义文件名?

【问题讨论】:

  • 使用$response->headers->set('Content-Disposition', sprintf('attachment; filename="%s"', $filename));

标签: php file symfony controller


【解决方案1】:

是的。 BinaryFileResponse 类有一个方法 setContentDisposition(),它将文件名作为第二个参数。

第一个参数是文件应该被传递的方式。如果应该提供文件以供下载,它可以是ResponseHeaderBag::DISPOSITION_ATTACHMENT(或只是字符串"attachment"),或者如果您希望文件在浏览器中显示(您可能想要例如,对图像执行此操作)。

完整的代码示例:

<?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'
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多