Загрузите кодированные изображения BASE64 с помощью Facebook SDK?
-
26-10-2019 - |
Вопрос
Можно непосредственно загружать кодированные изображения 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",
));
Решение
Нет, не то, что я знал или узнал об поиске. Убедитесь, что вы используете RealPath () вокруг имени изображения, чтобы дать абсолютный путь к изображению.
Другие советы
Вы можете сделать это в 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);
Не связан с StackOverflow