Мне нужно вернуть изображение (как поток) в одном из моих приложений. После короткого google я нашел простое решение, но оно работает только для Opera и Chrome. Firefox и Safari покажут простой текст с информацией о том, что ответ представляет собой поток.Возвращение изображения в Джерси Ответ
Вот как я это сделать прямо сейчас:
@GET
@Path("/getImage")
@Produces({
"images/gif", "images/png", "images/jpg", MediaType.APPLICATION_JSON
})
public Response getImage(@QueryParam("width") Integer width, @QueryParam("height") Integer height) {
//SOME UNRELEVANT STUFF...
String mmcpath = gi.filepath;
BufferedImage image = ImageUtil.getImageFromPath(mmcpath);
if (image != null) {
// resize the image to fit the GUI's image frame
image = ImageUtil.resize(image, width, height);
InputStream is = ImageUtil.getStreamFromImage(image, FileHelper.getFileSuffix(mmcpath));
if (is != null) {
return Response.ok(is).build();
} else {
return Response.noContent().build();
}
}
return Response.noContent().build();
}
Я надеюсь, что кто-то имеет представление о том, как я должен изменить этот метод, чтобы заставить его работать с другими браузерами тоже.
Благодаря
Отличный пример! Вы должны вставить свой метод resize для ImageUtil только для полноты. –