1
我正在嘗試爲Play創建一個initial-data.yml
文件!框架應用。部分Web應用程序涉及圖像(用於個人資料圖片等),我想將它們作爲BLOB存儲在我的MySQL數據庫中(我知道這不是最佳實踐,稍後會使用文件系統)。我想知道如何將「測試」圖像放在我的YML文件中,以及如何在Web應用程序中訪問它並顯示它。任何幫助,將不勝感激。下面是我到目前爲止已經試過:如何將圖像存儲爲BLOB,然後在Play!-powered網站中顯示?
陽明的部分:
Picture(Picture1):
picture: 010001010100010101000101010001010100010101000101010001010100010101000101010001010100010101000101010001010100010101000101|image/png
我們的休眠模式有一個圖片作爲byte[]
。
這裏是我正在試圖訪問HTML中的圖像:
#{if _post.picture}
<!-- display the picture -->
<p> Hey, a picture should go here.</p>
<img src="@{Application.showImage(_post.getPicture().getBinaryImage())}" alt="long islands for life"/>
#{/if}
下面是getBinaryImage()
private ByteArrayInputStream getBinaryImage() {
try {
BufferedImage image = ImageIO.read(new ByteArrayInputStream(byteImage));
ImageInputStream is = ImageIO.createImageInputStream(image);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(image, "png", baos);
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
return bais;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
現在我得到一個NullPointerException這種方法,因爲第一線看起來image/byte []沒有被存儲在數據庫中。任何想法如何獲得適當的存儲在數據庫中,然後顯示在網頁上?