Имя файла набора двоичных файлов Symfony для ответа


Можно ли задать собственное имя файла, когда файл возвращается контроллером Symfony2 через ответ BinaryFileResponse?

Author: user1336101, 2015-03-07

1 answers

Да. Класс 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'
);
 25
Author: hanzi, 2015-03-07 21:11:29