我使用playframework 2.2.1和Java,
我试图传递BufferedImage或ByteArray或ByteArrayInputStream
来查看模板,以便直接从内存中显示在浏览器中,
而不保存到服务器存储.
在我的视图模板中,我请求一个图像:
<img src="@{Application.getImage()}"/>
Run Code Online (Sandbox Code Playgroud)
我的应用控制器:
public static Result getImage() throws IOException{
BufferedImage image = ImageIO.read(new File("public/img/1.jpg"));
//some image manipulations
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "jpg", baos);
return ok(baos.toByteArray()).as("image/jpg");
}
Run Code Online (Sandbox Code Playgroud)
在生成的HTML中我得到:
<img src="SimpleResult(200, Map(Content-Type -> image/jpg))">
Run Code Online (Sandbox Code Playgroud)
我发现了一些关于这个主题的信息(一,二,三,四),
但它通常与旧版本或Scala版本的游戏有关.
请提出建议或指出我的错误,
谢谢