如何在REST Web服务中接收POSTed映像

时间:2011-04-03 02:13:55

标签: web-services rest resteasy

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

1 个答案:

答案 0 :(得分:1)

首先,您希望将图像作为InputStream接收,因为它们可能非常大。 (我有一台产生1200万像素图像的数码相机。它不是最新型号。即使以JPEG格式存储,它产生的图像也只有几兆字节。你不希望这种数据比内存更容易混乱。必要的。)

其次,您可以使您的Web服务接受原始未编码数据作为上传。它实际上比采用base-64编码数据更容易(前提是你将它作为流拉动)并且它可以很好地节省系统带宽和处理。如果您想同时发送其他数据,则应考虑处理多部分内容。 (唉,我对这部分没有经验;对于我一直在研究的RESTful网络服务,我没有需要它。)

第三,图像image/*空间中被描述为内容类型,但在实践中仔细检查以确定这是否是您真正得到的内容。在将它们提供给客户时,您必须将其作为image/*集之一发回。