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

时间:2017-07-13 14:25:37

标签: json node.js unirest

在NodeJS中,我尝试使用以下代码将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()函数,但我不确定如何最好地使用它?

1 个答案:

答案 0 :(得分:2)

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

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