2013-08-27 84 views
4

我有一个在运行时产生在我的网站形象和我在HTML中使用通Base64编码的jpeg图片,OG:图像

<img src="data:image/jpeg;base64,<!-- base64 data -->" /> 

现在显示的话,我希望为Facebook获取这一形象,但如果我为og:image meta标签做同样的事情,facebook调试器给我一个错误。任何解决方案

<meta property='og:image' content='data:image/jpeg;base64,<!-- base64 data -->'/> 

当然,我想避免文件的永久保存,因为它们总是不同的,那就太拥挤很快

回答

6

其填写Flash到PHP文件,回应一下:

<meta property='og:image' content='decoder.php?data=<!-- base64 data -->'/> 

decoder.php:

<?php 
    echo base64_decode($_GET['data']); 
?> 

编辑 请务必检查源出于安全原因。

+0

这似乎是很好的解决方案。只是一个问题。 decode.php的URL不会太长吗? –

+0

不应该是在新的浏览器(和fb!) – exim

+0

@exim中的问题我有以下错误:414(请求URI太大) – neoDev

2

的Open Graph 需要的URL。

您可以尝试将base64保存为临时映像。

+0

我该怎么做? 我试过这个 '$ temp = tmpfile(); fwrite($ temp,“data:image/jpeg; base64,”。$ data);' 但是我有资源。 –