答案 0 :(得分:1)
我的版本如下:
/**
* @Route("/download/{file_id}", name="download_file")
*/
public function downloadAction($file_id)
{
// get your filepath from db somehow by file_id or whatever
$path = ...
$file = getimagesize($path);
$response = new Response();
$response->setContent(file_get_contents($path));
$response->headers->set('Content-Type', $file['mime']);
$response->headers->set('Content-Disposition', 'attachment; filename="' . $filename . '"');
return $response;
}
答案 1 :(得分:0)
$response=new Response();
$response->setContent(file_get_contents($localFilePath));
如果强行下载,您可以使用:
$file_url = 'http://www.myremoteserver.com/file.exe';
header('Content-Type: application/octet-stream');
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"" . basename($file_url) . "\"");
readfile($file_url); // do the double-download-dance (dirty but worky)