当文件名有重音时,Symfony BinaryFileResponse 强制文件下载
Symfony BinaryFileResponse forces file download when filename has an accent
我试图借助 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。
我是不是漏了配置什么的?我找不到为什么会这样。
非常感谢任何帮助。谢谢。
我发现了我的问题。
Symfony 无法在包含重音符号的路径中获取文件类型 MIME。为了让它成为可能,我必须在 Apache 中激活 PHP 扩展 php_fileinfo。
我试图借助 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。
我是不是漏了配置什么的?我找不到为什么会这样。
非常感谢任何帮助。谢谢。
我发现了我的问题。
Symfony 无法在包含重音符号的路径中获取文件类型 MIME。为了让它成为可能,我必须在 Apache 中激活 PHP 扩展 php_fileinfo。