cgswtsu78 wrote:
> Hello, 
>
> I'm new to Jersey and restful web services in general.  Is there a way to
> stream a BufferedImage to the browser using an HTTP GET request?  Basically,
> I type in a URL http://localhost:8080/jersey/getImage and the browser
> displays the BufferedImage returned from the method mapped to the "getImage"
> path. A simple example would be quite helpful.  Appreciate the help!
>   
Technically, what you are asking for is something like this:
@GET
@Path("/getImage")
public byte[] getImage(){
    final Image image = ...
    return ((DataBufferByte)image.getRaster().getDataBuffer()).getData();
}
However, that probably won't get you very far. You probably want to
return an image using some common format like jpg or png, in which case
you could use ImageIO:
@GET
@Path("/getImage")
@Produces("image/png")
public StreamingOutput getImage() throws IOException{
    final Image image = ...
       
    return new StreamingOutput() {
        @Override
        public void write(OutputStream output) throws IOException,
WebApplicationException {
            ImageIO.write(image, "png", output);
        }
    };
}
That's what I do anyway, if there's a smarter way I am sure people will
let us know. :)
Cheers,
Casper