binaryFileResponse応答を介してSymfony2コントローラーからファイルが返されるときに独自のファイル名を設定することは可能ですか?
はい。 BinaryFileResponse
クラスには2番目の引数としてファイル名をとるメソッド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'
);