Php Symfony2 BinaryFileResponse返回FileNotFound
我正在尝试在Symfony2中创建文件下载路径。我的代码Php Symfony2 BinaryFileResponse返回FileNotFound,php,symfony,Php,Symfony,我正在尝试在Symfony2中创建文件下载路径。我的代码 if(!file_exists($w->getOrgUrlFullPath())) { return new Response('File not exists'); } $response = new BinaryFileResponse($w->getOrgUrlFullPath()); //These doesn't work BinaryFileResponse::trustXSend
if(!file_exists($w->getOrgUrlFullPath())) {
return new Response('File not exists');
}
$response = new BinaryFileResponse($w->getOrgUrlFullPath());
//These doesn't work
BinaryFileResponse::trustXSendfileTypeHeader();
$response->headers->set('Content-Type', 'application/zip');
$response->setContentDisposition(
ResponseHeaderBag::DISPOSITION_ATTACHMENT,
'file.zip'
);
return $response;
文件位于非公共目录(上部),仅此控制器可用,但当我检查文件是否存在时,一切正常,当我尝试以内联方式下载文件时,DISPOSITION\u
code将文件内容输出给我。
但当我试图以附件的形式下载文件时,浏览器返回“找不到文件”-它来自浏览器,而不是Symfony
有人能帮我吗
编辑:我忘了提到文件大小约为300 mb
EDIT2:好的,我发现问题在于文件的大小,对于较小的文件,它工作得很好。但对于较大的内容,它返回空内容。它不是即时读取的?您是否尝试过使用流响应?是的,我试过了,但它返回空内容。我不知道为什么它不起作用。我尝试先返回标题,然后返回内容,但过了一段时间后,它会中断连接(php托管时间限制)。可能与主机相关?您是否尝试过使用StreamdResponse?是的,我试过了,但它返回空内容。我不知道为什么它不起作用。我尝试先返回标题,然后返回内容,但过了一段时间后,它会中断连接(php托管时间限制)。可能与托管有关吗?