1

Selon la documentation de facebook, http://developers.facebook.com/docs/reference/api/album/, télécharger une photo, type de source doit être "multipart/form-data"du côté serveur Node.js: photo télécharger sur facebook

Maintenant, je suis le fichier image de du client au serveur dans node.js en utilisant 'connect-form'. et je suis en utilisant le module 'facebook-js' pour télécharger la photo à Facebook comme,

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'); 
     } 
    ); 

Les lancers au-dessus d'une erreur files.source n'est pas codé comme "multipart/form-data" .. Puis-je savoir ce qui doit être fait ici? Dois-je mettre le fichier en mémoire et l'utiliser dans la source?

Répondre

1

Vous ne pouvez pas faire cela en utilisant l'implémentation actuelle de facebook-js (ce que je suppose est this). Il utilise la bibliothèque de requêtes de nœud qui ne semble pas avoir de support natif pour l'envoi de requêtes HTTP multipart/form-data. Vous pouvez implémenter la soumission multipart/form-data (voir this pour un exemple plus long) mais vous aurez probablement besoin de forker la bibliothèque d'origine.

+0

Merci. Actuellement, n'y a-t-il pas de modules facebook pouvant publier l'image sur facebook? – user644745

+1

Pas que je sache: tous les modules semblent utiliser 'request' qui n'a pas de support natif. Jetez un coup d'œil à http://groups.google.com/group/nodejs/browse_thread/thread/1aee211ec2e8a7ff: cela montre un morceau de code de noeud brut qui gère la publication d'une photo. Vous pourriez être en mesure de l'adapter à vos besoins. – Femi

+0

OK. c'est une bonne information. Qu'en est-il des services oher comme flickr? Y a-t-il un soutien pour cela? – user644745

Questions connexes