关于api:Facebook缩略图问题可追溯到safe_image.php

Facebook Thumbnails Issue Traced to safe_image.php

由于某些原因,facebook的safe_image.php脚本无法正确生成缩略图。即使脚本参数中链接了正确的图像,它也会生成1x1图像。
示例:

1
2
3
<img class="img" alt="" src="https://s-external.ak.fbcdn.net
/safe_image.php?d=AQBtrCt_Es_KsED0&w=90&h=90&url=http%3A%2F
%2Fwww.southlapatriots.info%2Fimages%2FScamra%2FJayCastilleCouncil2.jpg"

链接的图像是正确的,但它仍仅生成1x1图像。


我也遇到了类似的问题。我的问题是因为图像名称中有一个"空格"。因此它既不会出现在facebook调试器中,也不会出现在共享中。

因此,我通过编码部分用连字符("-")替换了空格,从而解决了该问题。之后,我在facebook调试器中调试了URL,它出现了。这意味着Facebook不会使用"空格"显示图像名称。但是,这背后没有逻辑上的原因。无论如何,它将帮助某人。

有关更多信息,请查看Patrick D'appollonio发布的答案。对我有帮助。


今天遇到了同样的问题,在我的情况下是一个https问题。

我会自动将每个http请求重定向到https,而在浏览器正常运行时,FB的safe_image.php却没有。如果您也有这样的重定向,则可能只想对og:image文件禁用它。


在我的情况下,包含正版目标图像的目录受" .htaccess"控制,在该目录中,禁止从外部服务器调用图像。

阻止" .htaccess"文件的示例,例如:

1
2
3
4
5
6
<FilesMatch"\\.(jpg)$">
SetEnvIf Referer"^http://www.mysite.jp" ref_ok
order deny,allow
deny from all
allow from env=ref_ok
</FilesMatch>

safe_image脚本代码不支持在应用程序的图像URL中包含%(这可能是图像变为1x1透明像素的原因)

所以解决方案在这里。尝试按照chris

的第一条评论中的说明进行操作


您是否对图像使用了某种形式的gzip压缩?我们看到了类似的问题,但是我们使用gzip压缩了图像并设置了标头。浏览器的渲染效果很好,但Facebook本质上什么也没显示。