如何从Node Rest服务返回包含json和附件的多部分/相关响应?

时间:2019-03-25 21:25:20

标签: node.js json rest express multipart

我有一个节点休息服务,该服务接受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标签和附加文件。

我不确定我是否做出正确的多部分响应。有人可以帮我吗?

0 个答案:

没有答案