Symfony BinaryFileResponse set filename filename

2022-08-30 19:01:28

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


答案 1

是的。该类具有一个方法,该方法将文件名作为第二个参数。BinaryFileResponsesetContentDisposition()

第一个参数是文件的传递方式。如果应该提供文件以供下载,则可以(或仅字符串),或者(或)如果您希望在浏览器中显示文件(例如,您可能希望对图像执行此操作),则可以是(或仅字符串)。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'
);

答案 2

推荐