У меня есть класс JDO и вспомогательный класс Image для хранения изображений в байтовом массиве
Класс JDO:
@PersistenceCapable
class Recipe{
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long key
@Persistent
private String description
@Persistent(serialized = "true")
private Image image;
}
Класс изображения:
class Image implements Serializable {
private byte[] content
private String filename
private String mimeType
}
На странице gsp я перебираю рецепты и хочу показать изображения.
Я мог бы сделать такой контроллер, чтобы получить изображение src.
def viewImage= {
//retrieve photo code here
response.setHeader("Content-disposition", "attachment; filename=${photo.name}")
response.contentType = photo.fileType //'image/jpeg' will do too
response.outputStream << photo.file //'myphoto.jpg' will do too
response.outputStream.flush()
return;
}
Но так я должен отправить ключ рецепта этому контроллеру и снова загрузить изображение из хранилища данных. (Я уже загрузил его на самом деле. Но я думаю, что я не могу отправить эти данные в контроллер. Могу ли я?)
Нет ли более удобного способа показать изображение из байтового массива на странице gsp?