公开可以接受base64编码图像的基于REST的Web服务的一般方法是什么?我不确定图片是InputStream
还是ByteArray
。我正在使用RESTEasy。我可以将其映射为@FormParam
(javax.ws.rs.FormParam
)吗?传入图像的常用数据类型是什么?
答案 0 :(得分:1)
首先,您希望将图像作为InputStream
接收,因为它们可能非常大。 (我有一台产生1200万像素图像的数码相机。它不是最新型号。即使以JPEG格式存储,它产生的图像也只有几兆字节。你不希望这种数据比内存更容易混乱。必要的。)
其次,您可以使您的Web服务接受原始未编码数据作为上传。它实际上比采用base-64编码数据更容易(前提是你将它作为流拉动)并且它可以很好地节省系统带宽和处理。如果您想同时发送其他数据,则应考虑处理多部分内容。 (唉,我对这部分没有经验;对于我一直在研究的RESTful网络服务,我没有需要它。)
第三,图像应在image/*
空间中被描述为内容类型,但在实践中仔细检查以确定这是否是您真正得到的内容。在将它们提供给客户时,您必须将其作为image/*
集之一发回。