我需要在每個響應中返回1 * 1像素的相同虛擬圖像。我使用bufferArray要做到這一點,我的一小段代碼片段是如下: 返回1 * 1像素圖像作爲響應播放scala
val image: BufferedImage = ImageIO.read(new File("public/images/dummy.png"));
val baos: ByteArrayOutputStream = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
Ok(baos.toByteArray).as("image/png")
後
一些時間服務器拋出錯誤,java.io.excp打開的文件太多。 請幫忙,有沒有其他的方法來做到這一點?我已將該圖像緩衝區部分放入另一個對象(即對象abc {})並將其用作abc.baos。但錯誤是一樣的。
你忘了關閉文件 – Arjan
首先,因爲這反應總是一樣的,你可以在Cached中使用控制器方法:https://www.playframework.com/documentation/2.0/ScalaCache這將防止圖像被反覆從磁盤讀取 – thwiegan