Php Symfony2 BinaryFileResponse返回FileNotFound

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

我正在尝试在Symfony2中创建文件下载路径。我的代码

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托管时间限制)。可能与托管有关吗?