卷曲-F POST请求转换

时间:2017-06-25 20:37:44

标签: javascript node.js curl npm-request

这个cURL请求的HTTP等价物是什么?我已尝试翻译,但无法将文件正确传递给API。

$ curl -F "file=@test.txt" https://xxxxxx

我试过了:

const formData = {
  file: 'pathToFile'
}

request
  .post({
    url: 'xxxxxx',
    form: formData
  })
  .on('response', (response) => {
    console.log(response);
  });

这给了我一个5xx服务器错误〜文件param undefined。

我将如何在Node.js中执行此操作?我正在使用Request

1 个答案:

答案 0 :(得分:0)

Doc说使用fs.createReadStream(...)传递文件:

var formData = {
  my_file: fs.createReadStream(__dirname + '/test.txt'),
};
request.post({url:'http://service.com/upload', formData: formData}, function optionalCallback(err, httpResponse, body) {
  if (err) {
    return console.error('upload failed:', err);
  }
  console.log('Upload successful!  Server responded with:', body);
});

此选项还是formData,而不是form。除非我们说的是不同的版本。

或者,还有node-fetch