2011-04-03 91 views
1

公开可接受base64编码图像的基于REST的Web服务的一般方法是什么?我不确定图像是InputStream还是ByteArray。我正在使用RESTEasy。我可以将其作为@FormParamjavax.ws.rs.FormParam)吗?传入图像的常用数据类型是什么?如何在REST Web服务中接收张贴的图像

回答

1

首先,您想接收图像作为InputStream,因为它们可能相当大。 (我有一台能产生1200万像素图像的数码相机,它不是最新的型号,它产生的图像即使以JPEG格式存储也只有几兆字节,你不想让这种数据混乱的内存超过了)

其次,你可以让你的web服务接受原始的未编码数据作为上传。它实际上比采用base-64编码数据更容易(只要你把它作为一个流),这是一个很好的节省系统带宽和处理。如果您想要同时发送其他数据,则应考虑处理多部分内容。 (唉,我已经与那部分没有任何经验。我们都不需要它,因为我一直在工作的REST风格的web服务)

第三,图像将在image/*空间描述为内容类型,但在实践中仔细检查,看看你是否真的得到了。当他们回到客户端时,您必须将其作为image/*集之一发回。