0

我查看了几个关于此错误消息的 stackoverflow 帖子,但没有一个对我有用。

我想上传一张照片到 facebook:

public function uploadPhoto($path){
    $photoSettings = array(
        'access_token'=> $this->facebook->getAccessToken(),
        'name' => 'uploaded foto',
        'source' => '@' . realpath($path)
    );

    $photo = $this->facebook->api('me/photos','POST',$photoSettings);
}

当我调用此函数时,我收到以下错误消息:

未捕获的 CurlException:26:创建表单数据失败

我 100% 确定我要上传的图像存在(并且路径正确)。

这是我的 facebook 初始化:(fileUpload 为真)

$this->facebook = new Facebook(array(
          'appId'  => $this->config['appId'],
          'secret' => $this->config['appSecret'],
          'fileUpload' => true,
          'cookie' => true
    ));

我真的不明白为什么我会收到这个错误,因为我的代码似乎是正确的。您认为我的服务器/服务器的 cURL 配置可能有问题吗?我不太了解 cURL。

我希望你能帮帮我!我期待着您的回答:-)

问候,安德烈亚斯

4

2 回答 2

1

realpath($path)没有指向实际的服务器映像位置。如果$path是图像的完整路径,则'source' => '@' . $path改为使用。

于 2012-12-27T19:54:31.250 回答
1
I kept getting “CurlException: 26: failed creating formpost data” 

Here is my working code for uploading a photo from the same directory as the PHP page communicating with   Facebook:
$facebook    =  new Facebook(array(
'appId'      =>'*****',
'secret'     =>'*******',
'fileUpload' => true,
'cookie'     => true
));
 $user  =   $facebook ->getUser();
 if($user) 
 {  
$facebook->setFileUploadSupport(true);
$args = array(
    'message' => 'TEst from App.',
    'image' => '@' . realpath('awesome.jpeg')
);
try {
    $data = $facebook->api('/me/photos', 'post', $args);
} catch(FacebookApiException $e) {
    echo "ERROR: " . $e;
}

 }
于 2013-10-05T04:26:09.390 回答