如何在 NodeJS 中使用 Unirest POST JSON + pdf 文件

How to POST JSON + pdf file with Unirest in NodeJS

在 NodeJS 中,我正在尝试 POST JSON 使用以下代码将数据连同文件一起发送到服务器:

unirest.post(url)
.headers(headers)
.send(data)
.attach('file', file)
.end(function (response) {
    var statusCode = response.status;
    if (statusCode != 200) {
        console.log("Result: ", response.error);
    }
});

但是,在服务器上,我只收到文件,而不是来自 .send(data) 的 JSON 对象。我看到有一个 .multipart() 函数可以使用,但我不确定如何最好地使用它?

当您通过 http 发送 JSON 数据时,内容类型为 application/json。当您通过 http 发送文件时,内容类型为 multipart/form-data。您可以在发送多部分请求时发送表单字段,但不能在多部分请求中发送 JSON 数据。您有 2 个选项可以发送此请求

  1. 在使用 multipart/form-data 时,将您的 JSON 数据字符串化并将其作为表单字段发送并在另一端解析它
  2. 在使用 application/json 时,您在 JSON 数据
  3. 中将其作为 属性 文件并发送