好的,所以facebook希望我发送一个本地存储在服务器上的图像,但我将图像存储在数据库的BLOB中。。。
try {
$file = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
$post_data = array(
"message" => "Uploaded using the Funnymemes app!",
"source" => $file
);
$data['photo'] = $facebook->api("/me/photos", 'post', $post_data);
}
catch (FacebookApiException $e) {
}
但它没有上传。。。我从facebook api文档中得到了这个代码,所以我不确定发生了什么?
有什么想法吗?
为了上传照片,你必须修复以下问题:
- 图像文件应存储在文件系统中(即将BLOB保存回磁盘)
- 在
$post_data
阵列中的图像路径之前使用@
为此,我会做一些类似的事情:
try
{
$url = 'http://blaze-craft.com/matt/get.php?id=' . $lastid;
$saveas = '/images/image.jpg';
$res = @file_put_contents($saveas, file_get_contents($url));
if($res === false) throw new Exception('Cannot fetch image');
$post_data = array(
"message" => "Uploaded using the Funnymemes app!",
"source" => '@' . $saveas;
);
$data['photo'] = $facebook->api("/me/photos", 'post', $post_data);
}
catch (FacebookApiException $e) { }
catch (Exception $e) { }