我看了几个有关此错误消息的stackoverflow帖子,但它们都没有为我工作。
我想将照片上传到脸谱馆:
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:创建formpost数据失败
我100%确定我要上传的图片存在(并且路径正确)。
这是我的facebook初始化:( fileUpload为true)
$this->facebook = new Facebook(array(
'appId' => $this->config['appId'],
'secret' => $this->config['appSecret'],
'fileUpload' => true,
'cookie' => true
));
我真的不明白为什么我会收到错误,因为我的代码似乎是正确的。你认为我的服务器/服务器的cURL配置可能有问题吗?我对cURL不太了解。
我希望你能帮助我!我期待着你的回答: - )
问候, 安德烈亚斯
答案 0 :(得分:1)
您的realpath($path)
未指向实际的服务器映像位置。如果$path
是图片的完整路径,请改用'source' => '@' . $path
。
答案 1 :(得分: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;
}
}