Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Symfony BinaryFileResponse set filename

Tags:

Is it possible to set a custom filename when the file is returned by a Symfony2 controller using a BinaryFileResponse response?

like image 734
user1336101 Avatar asked Mar 07 '15 20:03

user1336101


1 Answers

Yes. The BinaryFileResponse class has a method setContentDisposition() that takes the file name as the second argument.

The first argument is the way the file should be delivered. It can be ResponseHeaderBag::DISPOSITION_ATTACHMENT (or just the string "attachment") if the file should be offered for downloading, or ResponseHeaderBag::DISPOSITION_INLINE (or "inline") if you want the file to be shown in the browser (you may want to do this with images, for example).

A full code example:

<?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' ); 
like image 116
hanzi Avatar answered Oct 06 '22 10:10

hanzi