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

在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()函数,我可以使用,但我不知道如何最好地使用它?

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

  1. 在使用multipart/form-data ,将您的JSON数据string化并将其作为表单字段发送并在另一端进行parsing
  2. 在使用application/json ,你需要将Base64文件作为JSON数据的属性发送