我正在开发一个RESTful web应用程序(Django+Piston)。POST请求将使用Json编码的数据发送到web应用程序。这对我所有的纯文本数据库表都很有效,但我也有一个存储文本和二进制文件的表。将文本和二进制数据发布到RESTful应用程序的最佳方法是什么?
发布于 2010-10-27 18:14:33
您可以对其进行base64编码并将其作为字符串发送到JSON消息中,也可以将二进制文件作为单独的资源发布或放置,并在JSON消息中通过ID或URL引用它。后一种方法是一种在基于XML的协议(例如,使用XMPP的语音聊天)中相当常见的带外数据信道。
您甚至可以很容易地支持混合模型,从而:
上载作为参考的{"base64":"OGZmNjJmOWNhYzFlODE0NDBjYmYzNjhjYz..."};
{"ref":"http://myserver.com/bits/E4304205-29B7-48EE-A359-74250E19EFC4"}.,
为了避免外部引用的二进制文件所需的双POST,您可以设计一些协议,允许在单个传输中混合使用JSON和二进制内容。但增量收益不太可能充分奖励这种水平的努力。
最后,从设计的角度来看,坚持使用简单的解决方案,直到它成为问题。
https://stackoverflow.com/questions/4032032
复制相似问题