javascript - 来自node.js服务器端: photo upload to facebook

标签 javascript node.js facebook-graph-api express serverside-javascript

根据 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/

相关文章:

javascript - JQuery 中 ("click") 函数中的“奇怪”变量赋值行为

javascript - 文本框事件绑定(bind)和文本框值

javascript - 用 html 内容替换 ChildNode 值

node.js - 使用 Sudo 安装 Bower

facebook-graph-api - Facebook Unity3d SDK 不包含 FBUtil 和 GameStateManager 类

facebook - 无法通过图形 API 创建 Facebook 相册

javascript - 如何为 Angular ngrx 中的选择元素设置初始值?

node.js - 使用 NodeJS 文件系统 (fs) 复制 asar 文件

javascript - 映射到 json 并使用 javascript 转换为 html 时得到额外的逗号

facebook-graph-api - 图 OAuthException 1500 : The url you supplied is invalid