根据 Facebook 文档,http://developers.facebook.com/docs/reference/api/album/ ,要上传照片,源类型应为“multipart/form-data”
现在我使用“connect-form”在node.js 中从客户端到服务器端获取了图像文件。我正在使用“facebook-js”模块将照片上传到 Facebook,
app.post('/', function(req, res, next){
req.form.complete(function(err, fields, files){
if (err) {
next(err);
} else {
console.log('uploaded ', files.source.filename, 'to', files.source.path);
fb.apiCall('POST', '/me/photos',
{access_token: fields.access_token,
message: fields.message,
**source:files.source**},
function (error, response, body) {
if (error) {
console.log('Error in facebook Photo UPLOAD', error);
return;
}
res.redirect('back');
}
);
上面会抛出错误,因为 files.source 未编码为“multipart/form-data”。 我可以知道这里需要做什么吗?我是否必须将文件放入内存然后在源代码中使用它?
最佳答案
您无法使用 facebook-js
的当前实现来执行此操作(我假设是 this )。它使用 Node 请求库,该库似乎不支持发送 multipart/form-data
HTTP 请求。您可以实现多部分/表单数据提交(请参阅 this 了解更长的示例),但您可能需要 fork 原始库。
关于javascript - 来自node.js服务器端: photo upload to facebook,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7448867/