获取nodeJS中的文件类型并通过http发送

时间:2017-05-16 11:08:15

标签: node.js http curl

我想将以下请求发送到某个外部API:

curl "https://api.foo.com/v2/" \
  -u USERNAME_OR_ACCESS_TOKEN \
  -X POST \
  -F file=@/path/to/my/file.json

但我想用节点做这个。 file参数应该是一个文件 - 如何从节点级别执行此操作?如何在cURL中发送文件?

我一直在尝试为文件提供相对于节点二进制位置的字符串,但当然它不起作用:

this.api.sendRequest("https://api.foo.com/v2/", "POST", {
  file: "path/to/my/file.json"
});

1 个答案:

答案 0 :(得分:0)

您可能需要查看npm request包。发送文件的示例如下:

const request = require('request');
const fs = require('fs');

request.post({
   url: "https://api.foo.com/v2/",
   formData: { file: fs.createReadStream("path/to/my/file.json") }
});

request.post()将返回一个承诺,您可以.then()并将成功和错误回调传递给。

在此处详细了解request表单:https://www.npmjs.com/package/request#forms