当前位置:  开发笔记 > 后端 > 正文

将二进制数据发布到RESTful应用程序

如何解决《将二进制数据发布到RESTful应用程序》经验,为你挑选了1个好方法。

我正在开发一个RESTful Web应用程序(Django + Piston).POST请求将使用Json编码的数据发送到Web应用程序.这适用于我所有仅文本的数据库表,但我也有一个存储文本和二进制文件的表.将文本和二进制数据发布到RESTful应用程序的最佳方法是什么?



1> Marcelo Cant..:

您可以使用Base64编码,并在JSON消息,将其作为一个字符串,或者您可以发布或者把二进制作为一个单独的资源,并在JSON消息指它通过ID或URL.后一种方法是一种带外数据通道,在基于XML的协议中非常常见(例如,使用XMPP的语音聊天).

你甚至可以很容易地支持混合模型,其中:

    一个小图像发送{"base64":"OGZmNjJmOWNhYzFlODE0NDBjYmYzNjhjYz..."};

    上传大图像作为参考{"ref":"http://myserver.com/bits/E4304205-29B7-48EE-A359-74250E19EFC4"}.

为了避免外部引用的二进制文件所需的双POST,您可以设计一些允许JSON和二进制内容在一次传输中混合的协议.但增量收益不太可能充分奖励这种努力程度.

最后,从设计的角度来看,坚持使用简单的解决方案,直到它成为一个问题.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有