BinaryFileResponse 在 Firefox 中无法正常工作 - 图像损坏或被截断
BinaryFileResponse not working correctly in Firefox - Image corrupt or truncated
当 Firefox 尝试加载 PHP 生成的图像文件时,我遇到了一些奇怪的问题。
发生在 Mac 和 Windows(7、8、10)。
Firefox 控制台显示:
Image corrupt or truncated.
在 Chrome、Safari 和 IE/Edge 中一切正常。
但这不是一个持续的错误,有时相同的图像会在 Firefox 中完全或至少部分加载。
直接由 Apache 提供的静态图像也可以正常工作。
server-side 代码非常基础,如下所示:
$response = new BinaryFileResponse($file->getPathname());
return $response;
这是静态(工作)图像的原始响应 header:
Connection: close
Date: Thu, 20 Oct 2016 11:55:04 GMT
Etag: "1ab1567-d2e0-53f396a39fd2e"
Server: Apache
Vary: User-Agent
这是 PHP 生成的图像之一:
Accept-Ranges: bytes
Cache-Control: max-age=1209600, public, s-maxage=1209600
Connection: close
Content-Encoding: gzip
Content-Type: image/jpeg
Date: Thu, 20 Oct 2016 11:57:45 GMT
Last-Modified: Thu, 20 Oct 2016 10:12:05 GMT
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent
有一件事要提一下,我在大约 30 个网站上使用相同的脚本没有任何问题。所以这可能是一个 server-side 问题?
就我而言,原因是在 Firefox 中安装了 AdBlock Plus 插件 ;)
当 Firefox 尝试加载 PHP 生成的图像文件时,我遇到了一些奇怪的问题。 发生在 Mac 和 Windows(7、8、10)。
Firefox 控制台显示:
Image corrupt or truncated.
在 Chrome、Safari 和 IE/Edge 中一切正常。
但这不是一个持续的错误,有时相同的图像会在 Firefox 中完全或至少部分加载。
直接由 Apache 提供的静态图像也可以正常工作。
server-side 代码非常基础,如下所示:
$response = new BinaryFileResponse($file->getPathname());
return $response;
这是静态(工作)图像的原始响应 header:
Connection: close
Date: Thu, 20 Oct 2016 11:55:04 GMT
Etag: "1ab1567-d2e0-53f396a39fd2e"
Server: Apache
Vary: User-Agent
这是 PHP 生成的图像之一:
Accept-Ranges: bytes
Cache-Control: max-age=1209600, public, s-maxage=1209600
Connection: close
Content-Encoding: gzip
Content-Type: image/jpeg
Date: Thu, 20 Oct 2016 11:57:45 GMT
Last-Modified: Thu, 20 Oct 2016 10:12:05 GMT
Server: Apache
Transfer-Encoding: chunked
Vary: Accept-Encoding,User-Agent
有一件事要提一下,我在大约 30 个网站上使用相同的脚本没有任何问题。所以这可能是一个 server-side 问题?
就我而言,原因是在 Firefox 中安装了 AdBlock Plus 插件 ;)