我想遍历这个类并在表格中显示。什么是显示图像的最简单方法?
class Crop {
static hasMany = [diseases: Disease]
int id
String commonName
String scientificName
byte[] image
}
static mapping = {
table: 'Crops'
commonName length : 100
scientificName length: 100
image sqlType: "longblob"
}
答案 0 :(得分:2)
如果您不介意缺少浏览器兼容性,请使用data:
uri编码:
<img src="data:image/png;base64,${crop.image.encodeBase64()}"/>
上的维基百科页面
@Xeon建议使用更传统的方法,即创建一个控制器,它返回一个具有正确mime类型和字节数组作为正文的图像响应。
答案 1 :(得分:1)
你可以在this answer中做同样的事情。
或者您可以创建控制器,从您的实体提供图像数据流。在GSP上你可以写:
<img src="${request.contextPath}/imageController/actionName?id=${entity.id}" ...
但这很不寻常 - 将图像作为byte[]
存储在实体中。您应该考虑将其更改为String
,这将指示图像的路径/文件名。