我有一个节点休息服务,该服务接受json输入并返回json响应,但是现在我需要将附件与json一起返回?对于附件,我有一个rtf二进制字符串,需要将其作为filename.rtf进行附加。我知道我需要使用 multipart / related 作为“内容类型”,但是我无法创建预期的响应。我尝试使用 form-data 并编写了如下代码:
var formdata = new FormData();
formdata.append('response.json', JSON.stringify(jsondata)), {
filename: 'response.json',
contentType: 'application/json'
});
formdata.append('filename.rtf', binaryString, {
filename: 'filename.rtf',
contentType: 'application/rtf'
});
res.setHeader('Content-Type', 'multipart/related; boundary=' + formdata._boundary);
formdata.pipe(res)
我在soapUI中的响应如下:
<data contentType="multipart/related; boundary=--------------------------447174718" contentLength="62237">
<![CDATA[{jsonData}}]]></data>
和作为附件的二进制文件,名称为 filename.rtf (如我所料)
我试图在soapUI中仅得到 jsonData 的响应,而不是<data><![CDATA....]]</data>
之类的xml标签和附加文件。
我不确定我是否做出正确的多部分响应。有人可以帮我吗?