如何在PHP中使用Base64发布图像?

时间:2013-12-20 16:08:24

标签: php curl base64

我需要使用Base64编码的.jpg图片,因为我无法使用托管图片。 如何将{base64image用于submitted-image-url数组部分?

PHP:

$base64image ="AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAABMLAAATCwAAAAAA
    AAAAAAAAAAAAbGxt/==";

$postData = array(
 'visibility' => array('code' => 'anyone'),
 'content' => array('submitted-url' => "http://example.com",'title' =>"helloworld",  'submitted-image-url' => "http://www.example.com/mypic.png"),
);

$ch = curl_init('https://api.linkedin.com/v1/people/~/shares?oauth2_access_token='.$authToken );
curl_setopt_array($ch, array(
    CURLOPT_POST => TRUE,
    CURLOPT_RETURNTRANSFER => TRUE,
    CURLOPT_HTTPHEADER => array(
     'Content-Type: application/json'
    ),
    CURLOPT_POSTFIELDS => json_encode($postData)
));

谢谢

1 个答案:

答案 0 :(得分:0)

这是不可能的。您必须提供到api中链接的托管图像链接。他们将使用您图片与该共享的链接。

您可以在服务器上托管PHP脚本。将base64编码的图像发送到脚本并使脚本从base64返回图像。为此使用PHP的gd库。例如:

yourserver/img/getImg.php?image=AAABAAEAE...

但是,它可能无法正常工作。因为它会使你的图像链接太大,我担心linkedin可能不会接受如此大的图像网址作为参数。您可以尝试缩短服务器上的图像链接,但这是一个不同的故事。