您可以对它进行base64编码并以字符串形式将其发送到JSON消息中,也可以将二进制文件作为单独的资源进行POST或PUT并在JSON消息中通过ID或URL进行引用。后一种方法是一种带外数据通道,在基于XML的协议(例如,使用XMPP的语音聊天)中非常常见。
您甚至可以轻松支持混合模型,从而:
- 小图像发送为
{"base64":"OGZmNjJmOWNhYzFlODE0NDBjYmYzNjhjYz..."}; - 上载大图像作为参考
{"ref":"http://myserver.com/bits/E4304205-29B7-48EE-A359-74250E19EFC4"}。
为了避免外部引用的二进制文件需要两次POST,您可以设计一些协议,该协议允许在一次传输中将JSON和二进制文件混合在一起。但是增加的收益不太可能充分奖励这种努力水平。
最后,从设计角度出发,坚持使用简单的解决方案,直到出现问题为止。



