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 []没有被存储在数据库中。任何想法如何获得适当的存储在数据库中,然后显示在网页上?