JAX-RS接受图像作为输入

很长一段时间以来,我一直在为我的开发需求开发JAX-RS Web服务。 到目前为止我编写的所有方法都接受java字符串或原始类型作为输入。

这种方法的一个例子:

@POST @Path("MyMethod") @Produces(MediaType.APPLICATION_JSON) public String MyMethod(@FormParam("username")String username, @FormParam("password")String passowrd) 

我现在要做的是接受图像作为输入。 我读了很多关于此的文章。 有人建议接受base64编码作为输入,其他建议接受实际的InputSteam。

但是,我还没有看到关于如何接受InputStream的完整示例。 我读到了@consumer注释和@Provider,但我还是无法绕过它。 是否有文章,文档或示例以某种方式引导我走向这个? 即一步一步的过程,如何实施而不是显示理论。

我知道base64编码有效,但出于好奇,我想知道其他方法是如何工作的……提前谢谢。

这应该工作:

 import org.apache.commons.io.IOUtils; @POST @Path("MyMethod") @Consumes("*/*") // to accept all input types public String MyMethod(InputStream stream) { byte[] image = IOUtils.toByteArray(stream); return "done"; }