2012-02-14 17 views
2

好了,所以Facebook的要我送的服務器上本地存儲的圖像,但我有存儲在數據庫中的BLOB的圖片...我如何將這些數據發送到Facebook? Facebook的API照片上傳

try { 
    $file = 'http://blaze-craft.com/matt/get.php?id=' . $lastid; 
    $post_data = array(
     "message" => "Uploaded using the Funnymemes app!", 
     "source" => $file 
    ); 
    $data['photo'] = $facebook->api("/me/photos", 'post', $post_data); 

    } 
    catch (FacebookApiException $e) { 

    } 

,但它不是上傳...我從facebook api文檔中獲得這段代碼,所以我不知道發生了什麼事情?

有什麼想法?

+0

這是一個原因,你不應該存儲圖像數據庫。示例代碼試圖從服務器上的目錄中提取圖像。 – 2012-02-14 00:44:58

回答

3

爲了照片上傳到工作,你必須解決這些問題:

  1. 圖像文件應存儲在文件系統(即保存BLOB回 磁盤)
  2. 使用@圖像之前路徑$post_data陣列中。

爲此,我會做這樣的事情:

try 
{ 
    $url = 'http://blaze-craft.com/matt/get.php?id=' . $lastid; 
    $saveas = '/images/image.jpg'; 
    $res = @file_put_contents($saveas, file_get_contents($url)); 

    if($res === false) throw new Exception('Cannot fetch image'); 

    $post_data = array(
     "message" => "Uploaded using the Funnymemes app!", 
     "source" => '@' . $saveas; 
    ); 
    $data['photo'] = $facebook->api("/me/photos", 'post', $post_data); 

    } 
    catch (FacebookApiException $e) { } 
    catch (Exception $e) { } 
相關問題