RESTful Web服务中的字节数组与Base 64字符串

Jag*_*uar 8 java rest base64

我的REST Web服务必须将图像文件发送到客户端.我在两个选项之间感到困惑:将图像作为字节数组发送,还是应该将其编码为基本64字符串?各自的优点和缺点是什么?我可能不得不使用gzip来压缩图像...它是否会产生任何一种方法的问题?我甚至可能需要将我的方法公开为SOAP服务,在这种情况下我应该选择哪种方法?

谢谢 !!

dka*_*arp 11

RESTful接口的精彩之处在于它只是HTTP.因此,如果您通过REST公开"字节数组"版本,任何浏览器都可以GET在您的REST URL上执行HTTP 并接收并直接呈现您的图像.逐字返回有效负载远比在其上放置编码更加RESTful.通过REST推荐额外的base64编码层并不多.

如果您要返回SOAP,则绝对要返回base64字符串.原始二进制数据与构建SOAP的XML不兼容.您可以尝试通过MTOM解决它,但是为了与SOAP客户端的通用兼容性,您可能需要内联base64编码的数据.

通常,压缩图像文件没有任何好处.图像格式本身在内部涉及压缩,第二次压缩传递不会获得更多的空间节省.