2013-08-27 86 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);' 但是我有資源。 –