Я пытаюсь создать файл initial-data.yml
для Play!Рамочное приложение.Часть веб-приложения включает в себя изображения (для изображения профиля и тому подобное), и я хочу сохранить их как BLOB в моей базе данных MySQL (я знаю, что это не лучшая практика, использование файловой системы появится позже).Мне интересно, как я могу поместить «тестовое» изображение в мой файл YML и как я могу получить к нему доступ в веб-приложении и отобразить его.Любая помощь будет оценена.Вот что я пробовал до сих пор:
Часть YML:
Picture(Picture1):
picture: 010001010100010101000101010001010100010101000101010001010100010101000101010001010100010101000101010001010100010101000101|image/png
У нашей модели Hibernate есть изображение 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 в первой строке этого метода, потому что кажетсячто изображение / байт [] не сохраняется в базе данных.Любые идеи, как правильно сохранить это в базе данных, а затем отобразить на веб-странице?