Загрузить изображения в кодировке base64 с помощью Facebook SDK? - PullRequest
1 голос
/ 01 декабря 2011

Можно загружать изображения в кодировке base64 напрямую, не сохраняя их, используя Facebook PHP SDK 3.1.1?

$facebook->setFileUploadSupport(true);
$facebook->api('/me/photos', 'POST', array(
    'source' => '@/mycoolpic.png', // No need to use FS, base64 encoded image
    'message' => "I'm cool",
));

Ответы [ 2 ]

1 голос
/ 03 марта 2012

Вы можете сделать следующее в PHP:

function base64_to_jpeg( $base64_string, $output_file ) {
  $ifp = fopen( $output_file, "wb" ); 
  fwrite( $ifp, base64_decode( $base64_string) ); 
  fclose( $ifp ); 
  return( $output_file ); 
}
$facebook->setFileUploadSupport(true);
$image = base64_to_jpeg( $your_base64_string, 'tmp.jpg' );
$args = array('message' => 'Some message');
$args['image'] = '@' . realpath( $image );
$data = $facebook->api('/your_user_id/photos', 'post', $args);
unlink($image);
0 голосов
/ 01 декабря 2011

Нет, не то, чтобы я был в курсе или обнаружил поиск. Убедитесь, что вы используете realpath () вокруг имени изображения, чтобы указать абсолютный путь к изображению.

...