Как разместить загруженный файл с http? - PullRequest
2 голосов
/ 14 февраля 2011

Как бы я сделал эквивалент этого в экспресс-приложении?То есть, отправка файла в facebook:

curl -F 'access_token=xyz' \
    -F 'source=@file.png' \
    -F 'message=Caption for the photo' \
    https://graph.facebook.com/me/photos

Я использую следующее для загрузки файла из примера в репо:

app.post('/', function(req, res, next){
 req.form.complete(function(err, fields, files){
   if (err) {
     next(err);
   } else {
     console.log('\nuploaded %s to %s'
       ,  files.image.filename
       , files.image.path);
     res.redirect('back');
   }
 });
})

Ответы [ 2 ]

2 голосов
/ 15 ноября 2011

Взгляните на request -модуль, который делает его (почти) слишком простым:

fs.readStream('file.png').pipe(request.post('http://graph.facebook.com/me/photos'))

Это создаст POST-запрос к данному URL-адресу и выполнит поток file.png через него. Добавление оставшихся полей должно быть тривиальным.

0 голосов
/ 15 февраля 2011

Вы можете создать HTTP-запрос с Node. Смотрите следующий пример в документации:

http://nodejs.org/docs/v0.4.0/api/http.html#http.request

...