Symfony2 BinaryFileResponse返回FileNotFound

时间:2016-09-28 10:24:55

标签: php symfony

我正在尝试在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_INLINE代码输出文件内容。 但是当我尝试将文件下载为DISPOSITION_ATTACHMENT时,浏览器会返回“无法找到文件” - 它来自浏览器,而不是来自Symfony。

任何人都可以帮助我吗?

编辑:我忘了提到文件大小是~300 mb

EDIT2:好的,我发现问题是文件的大小,对于较小的文件,它运行良好。但对于较大的,它返回空内容。它没有在飞行中被嘲笑?

0 个答案:

没有答案