当文件名具有重音时,Symfony BinaryFileResponse强制文件下载

时间:2017-06-21 17:34:34

标签: php symfony symfony-2.8

我试图在Symfony控制器中借助BinaryFileResponse直接在浏览器中显示图像。

在我们以前的服务器上,这段代码运行良好:

 $response = new BinaryFileResponse($filePath, 200, [], true, null, true);
 $response->headers->addCacheControlDirective('no-cache', true);
 $response->headers->addCacheControlDirective('max-age', 0);
 $response->headers->addCacheControlDirective('must-revalidate', true);
 $response->headers->addCacheControlDirective('no-store', true);

 return $response;

但是,由于新服务器上的迁移,当$ filePath包含重音(àéè等)时,它会强制下载图像而不是仅显示它。

两台服务器都安装了PHP 7.0.10。

我错过了配置或什么?我找不到它为什么会发生。

任何帮助都非常感激。谢谢。

1 个答案:

答案 0 :(得分:1)

我发现了我的问题。

Symfony无法在包含重音符号的路径中获取文件类型mime。为了实现这一点,我必须在Apache中激活PHP扩展php_fileinfo。