在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()
函数,但我不确定如何最好地使用它?
答案 0 :(得分:2)
通过http发送JSON数据时,内容类型为application/json
。当您通过http发送文件时,内容类型为multipart/form-data
。您可以在发送多部分请求时发送表单字段,但不能在多部分请求中发送JSON数据。您有2个选项来发送此请求
multipart/form-data
时,将JSON数据字符串化并将其作为表单字段发送并在另一端解析application/json
时,您将文件存档并将其作为JSON数据中的属性发送