2017-08-17 111 views
0

我正在使用请求模块与其他API进行通信。使用Node的请求模块通过REST API上传文件

到目前为止,一切都很完美,现在我遇到了上传文件的问题。

这是我的代码:

var url = "www.targetsite.com"; 
    var options = { 
     method: 'post', 
     json: true, 
     body: { 
      parameter: 'param' 
     }, 
     formData: { 
      file: fs.createReadStream("pic.jpg"); 
     } 
    } 

    request(url, options, function(err, res, res_body){ 
     console.log(err); 
     ... 
    } 

在这里,我收到错误错误:年底

后写如果我然后从选项“JSON”和“体”,它使该请求,并从另一侧返回错误(缺少参数)。

那么,如何在同一个电话中同时发送“body”和上传文件呢?

+0

内容类型只能是1,你试着通过2种类型,'应用/ JSON,多部分/形式data',转化人体PARAMS形成数据 –

+0

@Medet,谢谢你,工作! 你可以请发表这个答案以接受它吗? – Aleks

回答

0

氏应该工作得很好

var url = "www.targetsite.com"; 
var options = { 
    parameter: 'param', 
    file: fs.createReadStream(__dirname + "/pic.jpg") 
} 

request.post({url: url, formData: options}, function (err, httpResponse, body) { 
    // done 
});