如何使用邮递员一起发送图像/文件和嵌套的json数据?

时间:2020-07-09 16:41:03

标签: node.js json curl postman multer

我能够发送图片/文件和普通键值,稍后将其用作普通json。我在邮递员和节点服务器中使用body的表单数据类型。

Normal key value and image

要处理图像,我在节点服务器上使用了multer。

但是造成问题的是当我尝试一起发送嵌套的json和图像时。

我不能做这个事情。

Nested json and image

一切都很好,但这就是嵌套json在终端中的记录方式:-

enter image description here

请!任何帮助也以实际的json格式获取嵌套的数据对象将是非常有用的,但不像终端照片中所示的此字符串那样。

2 个答案:

答案 0 :(得分:0)

JSON不能包含二进制数据。您要问的不是直接可能的。

最理想的是多部分请求,这是您在第一个示例中得到的。请注意,其中一部分可以是JSON,您可以按名称或其他标识符引用另一部分。

错误的方法是对数据进行base64编码并将其放入JSON中。如果这样做,您将得到所需的东西,但要花费33%的文件开销,浪费了CPU和内存进行编码/解码的每一端,以及JSON解析器的大量内存浪费,现在JSON解析器已经有了仔细检查所有这些额外数据。

一种替代方法是使用支持二进制数据的格式,例如CBOR。 CBOR works in browsersstreamable,支持all of the types of JSON,然后支持is extensiblestandardized

答案 1 :(得分:0)

一种解决方案是将图片上传和记录上传拆分为两个独立的服务,并在 UI 中依次调用。